【问题标题】:Display posts with specific tags on wordpress homepage?在 wordpress 主页上显示带有特定标签的帖子?
【发布时间】:2020-09-08 21:35:01
【问题描述】:

我试图在我的 wordpress 主页上仅显示带有标签“44”或“9”的帖子。

到目前为止,我在这里:

<?php get_header();?>

<div class="container pt-5 pb-5">

<h1><?php the_title();?></h1>

<?php

$query = new WP_Query( array( 'tag__in' => array( 44, 9 ) ) );

if ( $query->have_posts() ) :

while ( $query->have_posts() ) : $query->the_post();?>

    <?php the_content();?>

<?php endwhile; endif;?>

</div>

<?php get_footer();?>

但我看不到帖子。我哪里错了?

【问题讨论】:

  • 我看不出你的代码有什么明显的问题。您的帖子是自定义帖子类型吗?如果你使用这个,你会得到任何帖子吗? $query = new WP_Query( array( post_type' =&gt; 'any, 'post_status' =&gt; 'any' ) );这将有助于调试问题是代码还是帖子本身。
  • 嘿!所以现在显示我的“媒体”文件夹中的所有项目,以及 3 个帖子?编辑:只是 realisng 总共有 10 个项目,我猜我在我的 wordpress 仪表板中的某个地方受到了限制
  • 是的,您可以在 WP Admin 中的“设置 > 阅读”下设置每页的帖子。好的,您的 WP_Query 代码正在运行,这意味着它与 args 有关,听起来与标签有关。现在试试这个:$query = new WP_Query( array( post_type' =&gt; 'any, 'post_status' =&gt; 'any', array( 'tag__in' =&gt; array( 44, 9 ) ) ) );,如果这不起作用,它没有拾取标签,所以检查是否正确添加,清除缓存,重新保存永久链接。
  • 它正在使用这个:$query = new WP_Query(array('tag' => '44,9')); .谢谢!
  • 这很奇怪 - 当我们搜索所有帖子时tag__in 工作了,所以其他一些东西也发生了很大变化,最好确切地知道出了什么问题,这样可以帮助其他用户也有问题!!

标签: php html jquery wordpress tags


【解决方案1】:

在您的查询中,您已指定正在寻找标签为 44 或 9 的帖子:

$query = new WP_Query( array( 'tag__in' => array( 44, 9 ) ) );

请注意,这不会得到带有这些标签的 所有 帖子 - 此查询中还有其他在这里看不到的约束。 WP_Query 有许多默认值,因此如果您没有在 args 中设置它们,那么它将使用这些值。这些默认参数包括:

  • post_status = public(除非用户已登录 - 然后还包括 private
  • post_type = post(并不是说这是特定的帖子类型,不包括所有帖子,例如自定义帖子类型)

由于您的查询没有返回任何内容,并且根据您为显示有带有这些标签的帖子所做的调试,我们知道这些默认值之一会阻止查询获取您的帖子。

  1. 确认您要获取的帖子已已发布公开
  2. 如果您使用的是自定义帖子类型,则需要将其包含到您的 WP_Query 中。例如,如果您的 CPT slug 是 my_cpt,您可以按如下方式包含它:
$args = array( post_type' => 'my_cpt', 
               array( 'tag__in' => array( 44, 9 ) ) );
$query = new WP_Query( $args);

您还可以使用'post_type' =&gt; array( 'post', 'my_cpt')一次性搜索多个帖子类型

仅供参考,如果您不确定您的帖子的 slug 是什么,请转到 WP 管理员中列出您尝试获取的所有帖子的页面并查看网址 - 它将包含如下帖子类型:

https://www.example.com/wp-admin/edit.php?post_type=my_cpt

【讨论】:

    猜你喜欢
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    相关资源
    最近更新 更多