web-dev-qa-db-fra.com

Comment créer une table d'indexation de catégories sur un site wordpress ou sur un autre site Web?

Je souhaite créer une page sur une autre partie de mon site Web (en dehors du répertoire wordpress), sur laquelle je peux afficher la liste des publications d'une catégorie spécifique.
Je cherche la solution exacte proposée par @toscho ici: Comment créer un index des postes dans une certaine catégorie

Par exemple, si mon site wordpress est example.com/blog/, je souhaite créer une solution autonome (script php) qui affiche la liste des publications du site wordpress en fonction de la catégorie. Quelque chose comme: example.com/category.php.

Est-ce possible avec RSS ou toute autre solution?

4
SachinKRaj

Si les fichiers se trouvent sur le même serveur et que vous souhaitez les charger à partir de l'environnement wordpress (à l'aide de fonctions wordpress), vous pouvez inclure wp-load.php qui chargera tous les fichiers wordpress et utilisera ensuite WP_Query, get_posts, etc. Ceci est sale, mais le travail est fait

Si la base de données est accessible, vous pouvez écrire des requêtes personnalisées dans la base de données. Cela sera plus efficace, mais aucun filtre wordpress ne sera appliqué.

C'est aussi possible via feed, voir cet exemple

<?php
$doc = new DOMDocument();
$doc->load('< feed url here >');
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
    $itemRSS = 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($arrFeeds, $itemRSS);
}
var_dump($arrFeeds);
?>

ou utilisez curl pour lire les flux, des tutoriels sont facilement disponibles en ligne

2
Mridul Aggarwal