我在dailysuit工作。de,它在每个帖子的内容下面有8篇相关文章,由一些标签定义。
现在我想把“每页帖子”的数量从8篇减少到4篇。当然,我可以通过更改函数轻松实现这一点。php,但一旦主题得到更新,数字就会回到8。
因此,我想更改函数并将其添加到子主题的函数中。php:
/* Related posts */
function longform_the_related_posts_change() {
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) {
$tag_ids[] = $individual_tag->term_id;
}
$args = array(
\'tag__in\' => $tag_ids,
\'post__not_in\' => array($post->ID),
\'posts_per_page\' => 4, // Number of related posts to display.
\'ignore_sticky_posts\' => 1
);
$my_query = new wp_query( $args ); ?>
<h2 class="related-articles-title"><?php _e( \'Related articles\', \'longform\' ); ?></h2>
<div class="related-articles">
<?php
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<div class="related-thumb col-sm-3 col-md-3 col-lg-3">
<a rel="external" href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(array(500,350)); ?>
<div class="related-content">
<h2><?php the_title(); ?></h2>
</div>
</a>
</div>
<?php } ?>
<div class="clearfix"></div>
</div>
<?php
}
wp_reset_postdata();
wp_reset_query();
}
add_filter( \'longform_the_related_posts\', \'longform_the_related_posts_change\' );
不幸的是,这没有奏效。它仍然显示了8篇相关帖子,而不是我在“posts\\u per\\u page”中输入的4篇。
有人知道那里出了什么问题吗?或者有没有一种更简单/更简短的方法不需要复制所有这些代码?
我还尝试了提到的remove\\u filter,但也没有成功。
longform_the_related_posts_child () {
remove_filter(\'longform_the_related_posts\');
add_filter(\'longform_the_related_posts\', array(
\'longform_the_related_posts_filter\' => \'longform_the_related_posts\',
\'posts_per_page\' => 4,
) );
}
最合适的回答,由SO网友:Pooja Mistry 整理而成
我检查了你的代码,发现函数longform_the_related_posts
显示8个相关帖子。此函数在函数中定义。父主题的php,并在单个中调用。php。
因此,要覆盖该功能,请执行以下步骤-1。创建另一个在函数中显示4个相关帖子的函数。子主题的php。(因为您已经创建了函数longform_the_related_posts_change()
)
2。复制文件single.php
从父主题到子主题并替换第47行
从…起
echo longform_the_related_posts();
至
echo longform_the_related_posts_change();
这将调用显示4个帖子的函数<希望这有帮助。