如何解决Wordpress Feed - 内容类型会自动更改
我已经为我的 wordpress 页面创建了一个自定义的 rss/xml 提要来列出某些工作 - 它可以工作,除了内容类型会自动且非常随意地从 rss/xml 更改为 text/html,这使得无法获取正确进料。我真的不知道为什么或如何重现这个问题。
代码有问题吗?我不这么认为 - 也许是因为服务器的错误配置或类似的东西。
代码如下:
class KIE_XML_Feed{
public function __construct()
{
add_action( 'init',array( $this,'kie_add_xml_job_feeds' ) );
add_filter( 'feed_content_type','kie_feed_type'),10,2 );
}
function kie_add_xml_job_feeds() {
add_feed( 'joblift','kie_render_joblift_job_feed' ) );
}
function kie_feed_type( $content_type,$type ) {
if ( 'joblift' === $type ) {
return feed_content_type( 'rss' );
}
return $content_type;
}
/*
*
* Joblift
*
*/
function kie_render_joblift_job_feed() {
header( 'Content-Type: application/rss+xml ; charset=' . get_option( 'blog_charset' ),true );
echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '"?' . '>';
// Start feed
?><feed xmlns="http://www.w3.org/2005/Atom"><?php
// Query
$job_query = new WP_Query( [
'post_type' => 'jobs','posts_per_page' => -1,'meta_query' => array(
array(
'key' => 'kie_xml_feed_joblift','value' => '1','compare' => '=','type' => 'numeric'
)
)
]);
// Loop
if ( $job_query->have_posts() ) {
while ( $job_query->have_posts() ) {
$job_query->the_post();
get_template_part( 'partials/feeds/joblift' );
}
}
// End feed
?></feed><?php
// Reset
wp_reset_postdata();
}
}
提前致谢。
解决方法
我想我修好了。 WordPress 显然按照我的想法在不同的 URL 下提供创建的提要,即以下 URL:kennt-ihr-einen.de/feed/joblift
。所以,为了简单起见,我忘记了 URL 中的 /feed/
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。