【问题标题】:Print only parent categories of post in custom RSS feed仅打印自定义 RSS 提要中帖子的父类别
【发布时间】:2019-07-12 06:45:39
【问题描述】:

我正在尝试仅打印每个帖子的父类别以及自定义 Wordpress RSS 提要中该类别的永久链接。

使用<?php the_category_rss(); ?> 打印帖子的所有类别(父类别和子类别),如下所示:

<category><![CDATA[Category 1]]></category>
<category><![CDATA[Category 2]]></category>
<category><![CDATA[Category 3]]></category>

我想只打印帖子的父类别,而不是父类别和子类别。

我还在寻找在 RSS 提要中打印父类别的永久链接的正确方法。

我觉得这样做的方法是一个过滤器,但我不确定如何实现它。这就是我现在拥有的,但它返回 1 而不是父类别名称:

add_filter('the_category_rss', 'only_parent_rss_categories');

function only_parent_rss_categories( $allparents ) {

    $categories = get_the_category();
    $category = $category->category_parent == 0;

    $allparents= esc_html("<category><![CDATA[{$category}]]></category>");

    return $allparents;
}

【问题讨论】:

    标签: php wordpress rss


    【解决方案1】:

    我仍然有兴趣了解如何使用 Wordpress 功能 the_category_rss() 来完成此操作,但我确实找到了另一种方法:

    <?php $parentsonly = ""; 
      // loop through categories
      foreach((get_the_category()) as $category) {
        // exclude child categories
        if ($category->category_parent == 0) {
          $parentsonly = '<category domain="' . get_category_link($category->cat_ID) . '">' . $category->name . '</category>'; 
        } 
      }
    echo $parentsonly; ?>
    

    这会以正确的 RSS 验证格式返回每个父类别,使用 &lt;category&gt;domain 作为类别 URL:

    &lt;category domain="http://www.yourdomain.com/category-archive/"&gt;我的分类&lt;/category&gt;

    希望这对其他人有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 2023-04-05
      • 2021-12-15
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多