get_template_part에 변수 전달
3 대답
- 투표
-
- 2017-06-14
category-about.php
에<?php /** * The template for displaying the posts in the About category * */ ?> <!-- category-about.php --> <?php get_header(); ?> <?php $args = array( 'post_type' => 'post', 'category_name' => 'about', ); ?> <?php // important bit set_query_var( 'query_category', $args ); get_template_part('template-parts/posts', 'loop'); ?> <?php get_footer(); ?>
그리고 템플릿 파일
posts-loops.php
에 있습니다.<!-- posts-loop.php --> <?php // important bit $args = get_query_var('query_category'); $cat_name = $args['category_name']; $query = new WP_Query( $args ); if($query->have_posts()) : ?> <section id="<?php echo $cat_name ?>-section"> <h1 class="<?php echo $cat_name ?>-section-title"> <strong><?php echo ucfirst($cat_name) ?> Section</strong> </h1><?php while($query->have_posts()) : $query->the_post(); ?> <strong><?php the_title(); ?></strong> <div <?php post_class() ?> > <?php the_content(); ?> </div> <?php endwhile; ?> </section> <?php endif; wp_reset_query();
작동합니다.
참조 :
http://keithdevon.com/passing-variables-to-get_template_part-in-wordpress/# comment-110459 https://wordpress.stackexchange.com/a/176807/77054In
category-about.php
I have<?php /** * The template for displaying the posts in the About category * */ ?> <!-- category-about.php --> <?php get_header(); ?> <?php $args = array( 'post_type' => 'post', 'category_name' => 'about', ); ?> <?php // important bit set_query_var( 'query_category', $args ); get_template_part('template-parts/posts', 'loop'); ?> <?php get_footer(); ?>
and in template file
posts-loops.php
I now have<!-- posts-loop.php --> <?php // important bit $args = get_query_var('query_category'); $cat_name = $args['category_name']; $query = new WP_Query( $args ); if($query->have_posts()) : ?> <section id="<?php echo $cat_name ?>-section"> <h1 class="<?php echo $cat_name ?>-section-title"> <strong><?php echo ucfirst($cat_name) ?> Section</strong> </h1><?php while($query->have_posts()) : $query->the_post(); ?> <strong><?php the_title(); ?></strong> <div <?php post_class() ?> > <?php the_content(); ?> </div> <?php endwhile; ?> </section> <?php endif; wp_reset_query();
and it works.
Reference:
http://keithdevon.com/passing-variables-to-get_template_part-in-wordpress/#comment-110459 https://wordpress.stackexchange.com/a/176807/77054 -
- 2019-01-23
첫 번째 방법 :
템플릿 부분이 포함 된 템플릿 :
$value_to_sent = true; set_query_var( 'my_var', $value_to_sent );
포함 된 템플릿 부분 :
$get_my_var = get_query_var('my_var'); if ($get_my_var == true) { ... }
두 번째 방법 :
템플릿 부분이 포함 된 템플릿 :
global $my_var; $my_var= true;
포함 된 템플릿 부분 :
global $my_var; if ($my_var == true) { ... }
차라리 첫 번째 방법을 사용하겠습니다.First way:
Template in which template part is included:
$value_to_sent = true; set_query_var( 'my_var', $value_to_sent );
Included template part:
$get_my_var = get_query_var('my_var'); if ($get_my_var == true) { ... }
Second way:
Template in which template part is included:
global $my_var; $my_var= true;
Included template part:
global $my_var; if ($my_var == true) { ... }
I would rather go with the first way. -
- 2020-08-13
WordPress 5.5 에서는
$args
를get_template_part
로 전달할 수 있습니다.이 함수 외에도 이제 인수를받을 수있는 템플릿 함수 세트가 있습니다.get_header get_footer get_sidebar get_template_part_{$slug} get_template_part
자세한 내용은 https://make.wordpress.org/core/2020/07/17/passing-arguments-to-template-files-in-wordpress-5-5/
WordPress 5.5 allows passing
$args
toget_template_part
. Apart from this function there are sets of template function which can now accept arguments.get_header get_footer get_sidebar get_template_part_{$slug} get_template_part
Please refer more details at: https://make.wordpress.org/core/2020/07/17/passing-arguments-to-template-files-in-wordpress-5-5/
category-about.php
에category-about.php
템플릿 파일에서category-about.php
의 변수를 어떻게 가질 수 있습니까?이 댓글 및 < a href="https://wordpress.stackexchange.com/questions/176804/passing-a-variable-to-get-template-part">이 답변 모두 통합하는 데 어려움이 있습니다.
답변에 제공된 도우미 기능을 사용하는 대신 이것을 더 잘 이해하고 싶습니다. 올바른 방법은
set_query_var
및get_query_var
를 사용하는 것임을 이해하지만 약간의 도움이 필요합니다.각 카테고리에 대한 핵심 루프 코드를 작성하는 대신 카테고리 템플릿에
$args
를 정의한 다음 템플릿 파일에서 사용하는 것을 좋아합니다. 어떤 도움이라도 대단히 감사합니다.