DANKE DANKE für diese hervorragende Information.
Ich wollte erweitern, was die anderen beiden bereits geschrieben haben ... Damit dies überprüft werden kann, muss ein benutzerdefinierter Namespace vorhanden sein. So machen Sie das:
/* 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";
}
Und dann stellen Sie dem Feldnamenelement den benutzerdefinierten Namespace voran. In diesem Beispiel habe ich "mycustomfields" verwendet. Siehe unten:
/* 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";
}
}
Nebenbei bemerkt, Sie können eine Aktion verwenden, um sich in eine der 3 einzuklinken
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');