it-swarm.com.de

Beitrags-ID auf RSS anzeigen

Wie zeige ich die Beitrags-ID auf RSS an?

Dies ist mein 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>';

das ist mein permalink:

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

Ich möchte wp_get_shortlink(get_the_ID()); verwenden für:

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

Also nicht lange Link verkürzen ...

2

Sie können die ID als benutzerdefiniertes Tag per Hook zu Ihrem Feed hinzufügen. Es gibt jedoch kein gültiges Tag im rss/atom-Standard, um dies zu speichern. Um die ID eines Posts zu erhalten, sollten Sie das Tag guid wie im folgenden Beispiel aufteilen.

Die Anleitung im Feed:

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

Teilen Sie die ID.

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

Den var $guid sollten Sie in Ihrer foreach-Schleife erweitern, damit er jede Guid für jedes Element speichert. Der $id erhält ein Array mit allen Strings, die dort durch den String = aufgeteilt sind, sowie Ihre Beitrags-ID.

2
bueltge