当自定义字段具有'&'时,Wordpress RSS提要不起作用

时间:2012-07-19 15:43:16

标签: xml wordpress rss

当自定义文件有'&'时,WordPress RSS Feed无法正常工作。我认为这可能是字符'&'的XML错误。我怎么能改变那个&以wp-php代码或任何工作方式在自定义字段中'& amp'? 错误!! 我正在使用以下代码

function customFieldFilter($id) {
$meta = get_post_meta($id);
foreach ($meta as $key => $value) {
   update_post_meta($id, $key, esc_attr($value));
}

} add_action('pre_post_update','customFieldFilter');

1 个答案:

答案 0 :(得分:1)

当您保存自定义字段时,请尝试将其包装在esc_html WordPress功能中。

我不确定您是如何保存自定义字段的,因为您没有提供任何代码,但对我而言,这将是以下内容:

$habitat = esc_html( $_POST["habitat"] );
update_post_meta( $post->ID, "habitat", $_POST["habitat"] );

但是,我真的希望看到您保存自定义字段的方式,因为我认为esc_html应该由update_post_meta函数运行?


修改

尝试将此添加到主题的functions.php(位于底部):

function custom_field_filter( $id ) {
    $meta = get_post_custom( $id );
    foreach ( $meta as $key => $value )
        update_post_meta( $id, $key, esc_html( $value ) );
}

add_action('pre_post_update', 'custom_field_filter', 100);

这是纯粹的猜测工作我很害怕,我真的找不到很多关于自定义字段的信息。此检索附加到帖子的所有自定义字段,在保存时,并通过函数运行它们以将&字符编码为&,这有望修复您的RSS进料。