2017-03-15 1 views
0

WooCommerce 기능이있는 제 1 번째 WordPress Theme 개발의 개발 단계에서 처음부터 모든 관련 내용을 PHP 파일에 직접 코딩했습니다. 이것이 다른 사람들과 '표준'인지는 확실치 않지만 콘텐츠 보호에 대한 나의 접근 방식이었습니다. MySql 데이터베이스에 어떤 일이 발생해야합니다.WordPress FrontEnd 내에서 최신 제품을 어떻게 호출 할 수 있습니까?

그렇다면 모든 관련 콘텐츠를 WordPress의 FrontEnd로 전송하지는 않습니다. 나는 내 index.php 파일에 다음 코드를 입력 한 index.php 파일로 시작했습니다 :

<?php get_header(); ?> 
    <?php 
     if (have_posts()): 
      while(have_posts()): the_post(); 
    ?> 
    <?php the_content(); ?> 

    <?php 
      endwhile; 
     endif; 
    ?> 

<?php get_footer(); ?> 

콘텐츠 자체 내에서, 나는 발표 된 최신 제품을 호출 할 수 있어야합니다. 나는의 index.php에서 호출 한 다음 템플릿 파일에 다음 코드를 입력하고 이것을 달성하기 위해 관리해야 : 지금은

<div class="row" id="latest-products"> 
    <h2 id="latest-products-row"><i class="fa fa-circle" aria-hidden="true"></i><span class="latest-products-title">Latest Products</span><i class="fa fa-circle" aria-hidden="true"></i></h2> 
     <ul class="row-fluid"> 
      <?php 
       $args = array('post_type' => 'product', 'stock' => 1, 'posts_per_page' => 4, 'orderby' =>'date','order' => 'DESC'); 
       $loop = new WP_Query($args); 
       while ($loop->have_posts()) : $loop->the_post(); global $product; 
      ?> 
         <li class="latest-products">  
          <a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 
           <?php 
            if (has_post_thumbnail($loop->post->ID)) 
            echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); 
            else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="65px" height="115px" />'; 
           ?> 
          </a> 
           <h3><?php the_title(); ?></h3> 
           <p><?php the_excerpt(); ?></p> 
           <div class="price-row"><i class="fa fa-circle" aria-hidden="true"></i><span id="product-price"><?php echo $product->get_price_html(); ?></span><i class="fa fa-cirlce" aria-hidden="true"></i></div> 
           <div class="buy-button"><a id="id-<?php the_id(); ?>" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">View/Buy</a></div> 
         </li> 
       <?php endwhile; ?> 
       <?php wp_reset_query(); ?> 
     </ul> 
</div> 

, 나는 단순히 워드 프레스의 프런트 엔드에서 위의 코드를 호출합니다. 현재이 작업을 수행 할 수있는 유일한 방법은 하드 코딩을 통해 수행하는 것으로 달성하려는 작업이 아닙니다.

누구나 내가 이것을 달성하기 시작할 수있는 올바른 방향으로 나를 지적 할 수 있습니까? 결국 WordPress 페이지/포스트에서 선택할 수있는 옵션을 만들고 '표시 할 제품 수', '배경색'등과 같은 옵션으로 상자를 엽니 다. 그렇게 많은 추가 작업이 아니라면, 나는 이것을 달성하기위한 어떤 조언도 주시면 감사하겠습니다.

+0

을 ... 당신이 게시 코드는이 작업을 수행하는 올바른 방법 ...에 대한 –

+0

덕분에 당신의 응답. 이 코드는 index.php 파일에 하드 코딩 된 상태에서 작동하지만 대신이 코드를 WordPress의 프론트 엔드에 배치하고 싶습니다. 따라서' '를 통해 index.php 파일에서 호출됩니다. 위의 내용을 프론트 엔드에 배치하면 실제 내용보다는 코딩이 나타납니다. – Craig

+0

당신은 그 코드를 index.php 파일에 복사 할 수 있어야합니다. 제품이 있다면 그것을 렌더링해야합니다. 그렇지 않으면 WP 설치에 문제가있는 것입니다. 이 코드를 외부 파일에 가지고 있다면, 그 코드를로드하기 위해'load_template_part()'를 사용할 수 있습니다. –

답변

1

WooCommerce 단축 코드에 대한 빠른 연구가 끝나면 [recent_products per_page="4" columns="4"]을 호출하면 최신 제품이 표시됩니다. WYSIWYG 편집기에 붙여 넣기 만하면됩니다.

WooCommerce의 단축 코드에 대한 자세한 내용은

은이 링크를 참조하십시오 난 당신이 여기에 무엇을 의미하는지 정말 모르겠어요 https://docs.woocommerce.com/document/woocommerce-shortcodes/

+0

감사합니다. 매우 감사. Wysiwyg를 사용하여 PHP 접근법을 계속 사용할 수있는 방법이 없습니까? 사용자 정의 필드 등? 쇼트 코드를 사용하면 전반적인 출연에 대한 통제력이 떨어집니다. – Craig

+0

원한다면 ... 자신 만의 쇼트 코드를 만들 수 있습니다. shortcode API를 확인하십시오. https://codex.wordpress.org/Shortcode_API 원하는 경우 답변으로 받아들이십시오. :) –

관련 문제