web-dev-qa-db-fra.com

Afficher le type de message personnalisé dans les messages récents

J'ai le problème suivant:

J'ai créé un type de message personnalisé matratze et actuellement, il n'existe aucun autre message personnalisé. Par conséquent, rien n'est affiché dans les messages récents.

Le type de publication personnalisé se présente comme suit:

[post personnalisé]

Mes messages récents ne sont pas affichés:

[page d'accueil principale]

J'ai essayé ce qui suit:

add_filter( 'pre_get_posts', 'my_get_posts' );

function my_get_posts( $query ) {

    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'post', 'page', 'matratze' ) );

    return $query;
}

Des suggestions de ce que je fais mal?

J'apprécie vos réponses!

2
Kare

Pour afficher des types de publication personnalisés dans le widget Messages récents standard pour les barres latérales,
nous utilisons la fonction suivante qui fonctionne parfaitement pour nous.
Nous utilisons nos propres fonctions et essayons d’empêcher la surcharge souvent créée par les plugins.

Remarque: faites une sauvegarde avant d'ajouter cette fonction dans functions.php

/**
 * Display CPT on Recent Post widget
 *
 * @version WP 4.6.1
 */
add_filter( 'widget_posts_args', 'wpse241060_widget_recent_post_4_cpt' );
function wpse241060_widget_recent_post_4_cpt( $params )
{
    $params['post_type'] = array( 'post', 'cpt01', 'cpt02');
    return $params;
}

En savoir plus dans Codex

2
Charles

Wordpress fournit wp_get_recent_posts() une fonction permettant de récupérer un certain nombre de publications récentes, quel que soit leur type. vous pouvez passer votre type de publication personnalisé en tant qu'argument pour récupérer les listes de publications récentes.

$args = array(
    'numberposts' => '5',
    'orderby' => 'post_date',
    'order' => 'DESC',
    'post_type' => 'matratze',
    'post_status' => 'publish'
);
$recent_posts = wp_get_recent_posts( $args );

Le widget Publications récentes de Wordpress Core ne fournit pas de fonctionnalité permettant de répertorier les publications de type publication personnalisée. Si vous souhaitez lister des publications à l'aide de Widget, vous pouvez utiliser Messages dans la barre latérale Plugin. Ce plugin est très puissant et vous offre de nombreuses options pour afficher des publications en fonction de nombreux critères, notamment les publications récentes de types de publications personnalisées.

UPDATE:

Voici le code que vous pouvez utiliser pour votre cas spécifique:

Vous utilisez l'onglet Widget pour afficher les publications récentes qui utilisent WP_Query. Vous pouvez donc utiliser pre_get_posts pour définir le filtre de type de publication.

function filter_recent_get_posts($query) {
    if (isset($_POST['tab']) && ($_POST['tab'] == 'recent')) {
        $query->set('post_type', 'matratze');
    }
}
add_action( 'pre_get_posts', 'filter_recent_get_posts' );
2
C Sabhar