我无法访问模板文件中的变量(请参阅下面的评论)。 提前感谢您的帮助。
的functions.php:
$mypage = (get_query_var('paged')) ? get_query_var('paged') : 1;
$maxpost = $loop->max_num_pages;
的template.php:
$args = array(
'post_type' => 'publications',
'posts_per_page' => 2,
);
$query = new WP_Query( $args ); ?>
<?php if ($query->have_posts()) : ?>
<div id="posts">
<?php while ($query->have_posts()) : $query->the_post(); ?>
<section class="col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 publications-section tagged-posts post">
<?php if ( has_post_thumbnail() ) : ?>
<a href="<?php echo get_permalink( $post->ID ); ?>">
<div class="col-sm-4 col-sm-push-8 publications-section-image" style="background-image:url('<?php the_post_thumbnail_url(); ?>');"></div>
</a>
<?php endif; ?>
<div class="col-sm-8 col-sm-pull-4">
<h2><a href="<?php echo get_permalink( $post->ID ); ?>"><?php the_title(); ?></a></h2>
<p><?php the_excerpt(); ?></p>
<small><?php echo get_post_meta($post->ID, "_contact", true); ?></small>
<small class="pub-tags pub"> <span><?php the_terms( $post->ID,'mytag','',' '); ?></span></small>
</div>
</section>
<?php echo $mypage; endwhile; wp_reset_postdata(); ?>
</div>
<div class="col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2" id="pub-btn-section">
<input type="submit" class="btn" id="loadmore" name="" value="Submit">
</div>
<?php endif; ?>
答案 0 :(得分:0)
我们假设您使用get_template_part()
函数在function.php
文件中包含模板。
现在传递一些值,您可以使用get_template_part()
set_query_var()
函数
functions.php
代码
$mypage = (get_query_var('paged')) ? get_query_var('paged') : 1;
$mymax = $loop->max_num_pages;
set_query_var( 'mypage', absint( $mypage ) );
set_query_var( 'mymax', absint( $mymax) );
get_template_part( 'The slug name for the generic template', $name = null );
在
template.php
文件中,我们需要直接访问$mypage
和mymax
变量
echo $mypage;
echo $mymax;
答案 1 :(得分:0)
您需要首先在所有函数之外的functions.php中声明您的全局变量,然后执行而不使用全局关键字。
当你想要引用全局变量时,当它超出范围时(例如在函数中,在另一个文件中),当你使用{{1}时} keyword。
<强>的functions.php 强>:
global
现在你应该可以在template.php中访问它了,具体取决于你使用的是什么钩子(只要该钩子没有被过早调用。
注意:强>
强烈建议不要使用全局变量,因此请考虑为什么要这样做?可能会更改代码的逻辑,或者使用自定义函数吗?
另一种选择是使用// declare your global variables
$mypage = 0;
$mymax = 0;
function myfunction(){
global $mypage,$mymax; // reference your global variables
$mypage = (get_query_var('paged')) ? get_query_var('paged') : 1;
$mymax = $loop->max_num_pages;
}
和get_query_var()
- 尽管这些选项用于传递参数而不是查询字符串。
<强> 的functions.php 强>
set_query_var()
template.php
$mypage = (get_query_var('paged')) ? get_query_var('paged') : 1;
set_query_var("mypage", $mypage ); // set your variable
同样,这些取决于您正在使用的钩子的操作顺序中的位置。
更新:
如果您的分页变量位于包含 template_part 的函数中,那么在设置它们之后您将使用$mypage = get_query_var("mypage"); // get the variable
将它们传递给该文件。