web-dev-qa-db-fra.com

Affichage de l'identifiant du post sur RSS

Comment afficher le Post ID sur RSS?

C'est mon code:

$rss = new DOMDocument();
$rss->load('https://www.ciusan.com/feed');
    $feed = array();
    foreach ($rss->getElementsByTagName('item') as $node) {
        $item = array ( 
            'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
//          'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
            'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
            'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        );
        array_Push($feed, $item);
    }
    $limit = 5;
    echo '<div>';
    echo '<ul class="soo-latest">';
    for($x=0;$x<$limit;$x++) {
        $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
        $link = $feed[$x]['link'];
//      $description = $feed[$x]['desc'];
        $date = date('l F d, Y', strtotime($feed[$x]['date']));
        echo '<li>&raquo; <a target="_blank" class="soo-info" href="'.$link.'">'.$title.'</a>';
        echo '<small class="help">Posted on '.$date.'</small></li>';
//      echo '<p>'.$description.'</p>';
    }
    echo '</ul>';
    echo '</div>';

c'est mon permalien:

/%category%/%post_id%/%postname%/

Je veux utiliser wp_get_shortlink(get_the_ID()); pour:

echo '<li>&raquo; <a target="_blank" class="soo-info" href="'.$link.'">'.$title.'</a>';

Donc, montrant raccourcir pas long lien ...

2
Dannie Herdyawan

Vous pouvez ajouter l'ID en tant que balise personnalisée à votre flux via le hook. Mais cela ne donne aucune balise valide dans la norme rss/atom pour stocker ceci. Donc, je pense que vous devriez scinder la balise guid pour obtenir l'ID d'un article, comme dans l'exemple suivant.

Le guid à l'intérieur du flux:

<guid isPermaLink="false">https://www.ciusan.com/?p=3566</guid>

Diviser l'ID.

$id = explode( '=', $guid );

La var $guid devrait être améliorée dans votre boucle foreach, de sorte qu'elle stocke chaque guide pour chaque élément. Le $id obtient un tableau avec toutes les chaînes divisées par la chaîne =, ainsi que votre identifiant de publication.

2
bueltge