CẢM ƠN BẠN CẢM ƠN những thông tin tuyệt vời này.
Tôi muốn mở rộng những gì hai người kia đã viết ... Để xác thực điều này, bạn phải có một không gian tên tùy chỉnh. Đây là cách bạn làm điều đó:
/* IN ORDER TO VALIDATE you must add namespace */
add_action('rss2_ns', 'my_rss2_ns');
function my_rss2_ns(){
echo 'xmlns:mycustomfields="'. get_bloginfo('wpurl').'"'."\n";
}
Và sau đó tiền tố mục tên trường với không gian tên tùy chỉnh Trong ví dụ này, tôi đã sử dụng "mycustomfields" Xem bên dưới:
/* add elements */
add_action('rss2_item', 'yoursite_rss2_item');
function yoursite_rss2_item() {
if (get_post_type()=='my_custom_post_type') {
$fields = array( 'field1', 'field2', 'field3' );
$post_id = get_the_ID();
foreach($fields as $field)
if ($value = get_post_meta($post_id,$field,true))
echo "<mycustomfields:{$field}>{$value}</mycustomfields:{$field}>\n";
}
}
Trên một lưu ý phụ, bạn có thể sử dụng một hành động để nối vào bất kỳ trong số 3
rss2_ns : to add a specific namespace
add_action('rss2_ns', 'my_rss2_ns');
rss2_head : to add tags in the feed header
add_action('rss2_head', 'my_rss2_head');
rss2_item : to add tags in each feed items
add_action('rss2_item', 'my_rss2_item');