我正在创建一个主题,在其中我创建了一个名为page\\u default-blog的页面模板。用于创建博客页面的php。在此文件中,我有以下代码:
$paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1;
$args = array(
\'paged\' => $paged,
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post(); ?>
the_title();
echo "<br>";
endwhile;
endif;
wp_reset_postdata();
问题是,尽管在$args中,ignore\\u sticky\\u posts默认设置为false,但粘性帖子并没有出现在顶部。如果我使用“索引”,粘性贴子会显示在顶部。php’但是如果我将首页设置为博客页面,它就不会出现。
请让我知道我如何才能让这个工作。谢谢
Edit 1:以下是var_dump ($custom_query->request);
:
string(217) "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = \'post\' AND (wp_posts.post_status = \'publish\' OR wp_posts.post_status = \'private\') ORDER BY wp_posts.post_date DESC LIMIT 0, 4"
Edit 2:这是我的模板文件page_default-blog.php
看起来像:<?php
/*
Template Name: Blog Default
*/
get_header();
wp_reset_postdata();
wp_reset_query();
$args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => -1,
\'ignore_sticky_posts\' => 0,
);
$custom_query = new WP_Query( $args );
var_dump( $custom_query->is_home ); // This is returning bool(false)
?>
<div class="container">
<?php
if ($custom_query->have_posts()) : while($custom_query->have_posts()) : $custom_query->the_post(); ?>
<?php
echo the_title();
echo "<br>";
?>
<?php endwhile;
endif;
wp_reset_postdata();
?>
</div>
<?php get_footer(); ?>
以上就是我现在使用的文件。我简化了它,试图找出问题所在,但仍然无法找到,因为粘性帖子的标题没有出现在列表的顶部。