我在单个帖子页面上使用自定义WP_Query(它显示最近的帖子列表):
$recent = new WP_Query($args);
while ($recent->
have_posts()) {
$recent->
the_post();
get_template_part('template-parts/content', get_post_format());
}
问题是:在模板中, 我检查is_single()条件, 该条件始终返回true(不传递任何参数)。当我尝试is_single($ post)时, 有时返回true, 有时返回false。
UPD 1:
我在主题文件夹中使用template-parts / content.php模板。该代码是这样的:
if ( is_single($post) ) :
the_title( '<
h1 class="entry-title pb-1 '.ta_content_paragraphs_paddings().'">
', '<
/h1>
' );
else :
the_title( '<
h2 class="entry-title pb-1 '.ta_content_paragraphs_paddings().'">
<
a href="' . esc_url( get_permalink() ) . '" rel="bookmark">
', '<
/a>
<
/h2>
' );
endif;
?>
UPD 2:我发现了为什么有时使用$ post作为参数时返回true的情况, 这种情况发生在我的单个帖子标题与最近的帖子标题相同的情况下。 class-wp-query中的这部分代码, 函数is_single:
} elseif ( in_array( $post_obj->
post_title, $post ) ) { // returns here
return true;
检查帖子标题是否告诉我一页是正常的吗?
#1我能够通过不提供$ post, 而是给is_single提供$ post-> ID来解决此问题:
is_single($post->
ID);
【WordPress is_single()在自定义WP_Query中始终返回true】我不认为在wordpress的核心中匹配$ post-> post_title是告诉它单个发布页面的好主意。也许我错了并且误会了这一点。
推荐阅读
- #yyds干货盘点# 织梦微信分享开发
- WordPress从循环所在的HTML标签中删除了一些文章。为什么?
- 当在functions.php文件中调用WordPress时,WordPress无法从数据库获取值
- WordPress在wp_users中插入新用户
- WordPress的是否可以使用钩子在帖子标题的标记之后插入标记()
- WordPress(在两个菜单项之间插入char)
- WordPress独立functions.php
- WordPress图片在iOS上显示不佳
- WordPress(我自动在wp-content/themes/mytheme/function.php中添加了一个代码)