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(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
// $description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
echo '<li>» <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>» <a target="_blank" class="soo-info" href="'.$link.'">'.$title.'</a>';
Donc, montrant raccourcir pas long lien ...
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.