更改RSS中的自定义帖子类型GUID

时间:2011-05-17 作者:Alex K

因此,我得到了输出一些自定义帖子类型的RSS提要,但GUID对我来说很糟糕,如下所示:

?post_type=mycustompost&p=124
我之所以想更改它,是因为我不需要人们知道它是Wordpress,也不需要看到我的自定义帖子类型名称(这在这个项目中非常重要)

是否有一个过滤器或挂钩来重写此内容?

谢谢

2 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

提要模板文件调用the_guid(), which calls get_the_guid(), 它有一个名为的过滤器(令人惊讶)get_the_guid. 您可以挂接到此过滤器以更改输出。筛选器只获取当前GUID,而不是post ID,因此如果需要,请在全局变量中查找它。

add_filter( \'get_the_guid\', \'wpse17463_get_the_guid\' );
function wpse17463_get_the_guid( $guid )
{
    return \'http://example.com/guid/\' . sha1( $guid );
}
另见this Trac ticket 建议将当前GUID格式更改为更唯一的哈希。

SO网友:MZAweb

我不知道你在哪里看到GUID。但如果是标题链接,您可以尝试:

function my_permalink($permalink) {
    global $wp_query;
    $permalink = get_permalink( $wp_query->post->ID );
    return $permalink;
}

add_filter(\'the_permalink_rss\', \'my_permalink\');

结束

相关推荐

自定义RSS模板的奇怪问题

我正试图为我的公司管理的网站创建一个自定义RSS提要模板,我遇到了一个非常令人困惑的bug,我想输入一些信息。首先,作为背景上下文,在大量google之后,这是我选择的创建RSS模板的方法。(如果有更好的方法,我洗耳恭听):复制/wp包括/feed-rss2。将该文件指定为页面模板,并根据需要从Wordpress后端进行修改,创建一个使用上述模板的新页面。从那里,您可以获得一个为RSS格式化的XML提要。这个过程似乎很好,即使有点麻烦。现在,我有个问题。输出的XML如下所示:<?xml versio