web-dev-qa-db-fra.com

Manière d'interroger des données (tags) à partir d'une base de données wordpress?

Je dois interroger la base de données WordPress et afficher les données sur l'une de mes pages. J'ai regardé et cherché des tutoriels en ligne, mais aucun d'entre eux n'est vraiment complet.


J'essaie d'afficher une liste de toutes les balises de mon site Web sur l'une de mes pages. Je sais que la meilleure façon de faire est avec php. J'ai googlé et binged mais tout ce qu'ils me donnent c'est que le code ne fonctionne pas ou qu'il fonctionne probablement mais qu'il est placé au mauvais endroit. Le fait est que je n'ai pas trouvé d'instructions complètes pour y parvenir. D'après ce que j'ai dit et recherché sur Google, le bloc de code ci-dessous est supposé m'aider à afficher ma liste de balises. Tiré de ici .

$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
    $tag_link = get_tag_link( $tag->term_id );

    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;

Cependant, si vous allez sur ma page de site Web , elle ne montre rien bien que le site contienne de nombreux tags. J'ai regardé le code et c'est très logique et on dirait qu'il est censé fonctionner. Mais étant un peu un noob dans le codage wordpress php, j’ai l’impression que je fais une erreur fondamentale en ce qui concerne la mise en place de ce code pour que celui-ci fonctionne sur mon site.

1
answerSeeker

En regardant votre page, le contenu est vide.

<div class="post_tags"></div>

Il semble que vous n'insériez pas correctement ce code PHP dans votre page. Pour ce faire, vous avez deux options:

Sans utiliser de plugin.

Ajoutez le code suivant dans votre functions.php

function list_all_tags( $atts ) {
    $tags = get_tags();
    $html = '<div class="post_tags">';
    foreach ( $tags as $tag ) {
        $tag_link = get_tag_link( $tag->term_id );

        $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
        $html .= "{$tag->name}</a>";
    }
$html .= '</div>';
echo $html;
}
add_shortcode( 'sc_list_all_tags', 'list_all_tags' );

Ensuite, sur votre page, vous utiliserez ce shortcode, [sc_list_all_tags] et tous les tags seront affichés, je viens d'utiliser votre code, cela fonctionne, mais les tags ont l'air un peu moche, je vous connais peut les formater correctement.


Utilisation d'un plugin.

Vous devez installer Insérer PHP Extrait de code ou un plugin similaire, dans ce cas, vous devez ajouter le fragment de code PHP sur Extraits de PHPCode.

 enter image description here 

Dans la section PHP Extraits de code, vous pouvez voir tous les extraits disponibles (déjà créés).

 enter image description here 

Enfin, vous pouvez copier le shortcode de l'extrait que vous souhaitez utiliser et le coller dans votre page.

1
Castiblanco