web-dev-qa-db-fra.com

Besoin de fonctionnalités avec toutes les listes de messages disponibles sur edit.php

J'ai résolu la requête principale:

Pour le tableau de bord WordPress, j'avais besoin de la liste de tous les articles liés à tous les types d'articles dans:

edit.php?post_type=product

En utilisant le concept de:

edit.php?post_type=product&showall=true

Avec fonction dans le backend function.php

function show_all_posttypes( $query ) {
    if( ! is_admin() ) {
         return;
    }

    if( isset( $_GET, $_GET['showall'] ) && true == $_GET['showall'] ) {
        $query->set( 'post_type', array('product', 'second_type_product', 'third_type_product') );
    }   
}

add_filter( 'pre_get_posts', 'show_all_posttypes' );

Et après cela, tous mes articles liés à trois types d’articles: produit, second_type_product, third_type_product énumèrent très bien sur l’URL:

edit.php? post_type = produit & showall = true

Mais quand je me sers de sa fonctionnalité pour filtrer sur la page edit.php avec tous les messages énumérés, alors dit:

Type de message invalide

Je souhaite obtenir toutes les fonctionnalités prises en charge avec ma liste associée à plusieurs types de publication. Liste sur une URL basée sur un type de publication.

Je vous remercie pour le soutien!

2
binita dutt

Invalid Post Type peut apparaître, à chaque fois que vous avez une erreur (type ou etc ..) dans 'product', 'second_type_product', 'third_type_product'. Assurez-vous que vous avez les bons mots là-bas.

1
T.Todua

Je voudrais le déboguer comme suit:

  • Vérifiez où l'erreur est renvoyée - Ceci presque à coup sûr dans le fichier wp-admin/edit.php - déboguez la variable $ post_type ici
  • Essayez de définir correctement la variable de type de publication dans votre requête pre_get_posts.

De plus, ce serait bien si vous pouviez partager un code avec lequel je peux tester votre problème.

0
Pascal Knecht

Votre code est bon. D'après le message d'erreur et les paramètres d'URL, je suppose qu'il n'y a pas de CPT product dans votre installation, cela fonctionnerait si vous remplaciez tous les types de publication enregistrés (post, page, ...) ou si vous ajoutiez une CPT product (en installant WooCommerce par exemple).

Et en passant, je pense que vous remplacez tous les articles énumérant les pages du tableau de bord par la même page que celle qui contient product, second_type_product et third_type_product. Êtes-vous sûr que c'est ce que vous voulez?

0
Nabil Kadimi