Wordpress 提要 - 内容类型会自动更改
Wordpress Feed - Content Type is automatically changing
我为我的 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', array( $this, 'kie_feed_type'), 10, 2 );
}
function kie_add_xml_job_feeds() {
add_feed( 'joblift', array( $this, '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 下提供创建的提要,即以下一个:kennt-ihr-einen.de/feed/joblift
。所以,为了简单起见,我忘记了 URL.
中的 /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', array( $this, 'kie_feed_type'), 10, 2 );
}
function kie_add_xml_job_feeds() {
add_feed( 'joblift', array( $this, '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 下提供创建的提要,即以下一个:kennt-ihr-einen.de/feed/joblift
。所以,为了简单起见,我忘记了 URL.
/feed/