Bonjour,
J’ai installé un filtre en short code pour afficher les 3 derniers posts citations dans une catégorie spécifique dans une section d’élémentor sur la page Home.

Ce que je souhaite c’est si je clique sur n’importe quelle citation de la home , je parvienne sur une page où sont réunies toutes les citations sous forme de blog… et que les articles individuels ne soient pas accessibles…

En fait si je clique sur le lien du texte ou du titre d’une citation sur la home, j’atterrit sur la page de l’article ce qui a peu d’intérêt… J’ai réussi à mettre un lien sur le texte de la citation qui donne sur une page « blog » de cette catégorie mais le lien du titre renvoie toujours sur l’article…
J’ai beaucoup cherché et essayé beaucoup de chose avec des liens et des ancres… J’ai essayé de supprimer « get-permalink" mais cela ne fonctionne pas:

Je suis sur océanWp et j’utilise Gutemberg… et si vous avez une idée cela m’aiderais beaucoup…
mon site n’est encore en ligne je suis en local
Je vous remercie
Décrivez ici votre problème ou ce que vous cherchez à faire.

"/* Shortcode 3 derniers articles Catégorie "hasard des mots" et Titre de l'Article*/
function shortcode_hasard($atts){
 $q = new WP_Query(
   array( 'orderby' => 'date','cat' => 41, 'posts_per_page' => '3')
 );
$list = '
<ul class="recent-posts">';
while($q->have_posts()) : $q->the_post();
$list .= '<li>' . 
'<div class="category">' . $category[0]->cat_name .'</div>' .
'<a class="titre" href="' . get_permalink() . '">' . get_the_title() .get_the_content(). '</a>' . '</li>';
endwhile;
wp_reset_query();
return $list . '</ul>';
}
add_shortcode('1-hasard', 'shortcode_hasard');
/* supprimer du blog cat au hasard des mots */
function wpm_exclude_cat($query) {
    //On verifie qu'on se trouve bien sur la page blog
    if ( $query->is_home ) { 
        // On retire les catégories 2, 6 et 9 en mettant un '-' devant
        $query->set('cat', '-41,-43'); 
    }
    return $query;
}
add_filter('pre_get_posts', 'wpm_exclude_cat');
/* Shortcode derniers articles au hasard des mots */
function shortcode_pagehasard($atts){
 $q = new WP_Query(
   array( 'orderby' => 'date','cat' => 41, 'posts_per_page' => '150')
 );
$list = '
<ul class="recent-posts">';
while($q->have_posts()) : $q->the_post();

$list .= '<li>' . 
'<div class="category">' . $category[0]->cat_name .'</div>' .
'<a class="titre" href="' . get_permalink() . '"> '. get_the_title() .get_the_content(). '</a>' . '</li>';
endwhile;
wp_reset_query();
return $list . '</ul>';
}
add_shortcode('1-pagehasard', 'shortcode_pagehasard');
?>"Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copier pas trop de code)

Ce que je veux

Supprimer les liens d'un extrait d'article d'une catégorie vers le post ou le rediriger vers une page blog de la catégorie.

Ce que j'obtiens
Le lien titre dirige toujours vers le post
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

1 réponse


Bonjour.
Ceci me parait plutôt logique étant donné qu'à tes fonctions shortcode_hasard et shortcode_pagehasard tu défini une variable nommée atts mais tu ne l'utilise à aucun moment pour les 2 à l'intérieur de celles-ci, donc pas étonnant que tu aies toujours les mêmes résultats.