当自定义文件有'&'时,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');
答案 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进料。