web-dev-qa-db-fra.com

type de message personnalisé La recherche ne renvoie aucun résultat dans le panneau d'administration

J'ai un type de message personnalisé tickets. Ici j'ai quelques catégories. Et voici mes codes.

     register_post_type( 
                    'tickets', 
                    array( 'labels' => array( 
                            'name' => __( 'Help and Support' ), 
                            'singular_name' => __( 'Help and Support' ) ), 
                        'public' => true, 
                        'has_archive' => true, 
                        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ))
                    );

// register the new ticket category
register_taxonomy( 'ticketcat',
        array( 'tickets'),
        array('hierarchical' => true,                    
                'labels' => array(
                        'name' => __( 'Categories', 'test'),
                        'singular_name' => __( 'Categories', 'test'),
                        'search_items' =>  __( 'Search Categories', 'test'),
                        'all_items' => __( 'All Categories', 'test'),
                        'parent_item' => __( 'Parent Category', 'test'),
                        'parent_item_colon' => __( 'Parent Category:', 'test'),
                        'edit_item' => __( 'Edit Categories', 'test'),
                        'update_item' => __( 'Update Category', 'test'),
                        'add_new_item' => __( 'Add New Category', 'test'),
                        'new_item_name' => __( 'New Category', 'test')
                ),
                'show_ui' => true,
                'query_var' => true,
                'update_count_callback' => '_update_post_term_count',
                'rewrite' => array( 'slug' => 'qualification', 'hierarchical' => true ),
        )
); 

Maintenant, le type de message personnalisé fonctionne dans le back-end, je peux ajouter, modifier, supprimer n'importe quel message. Mais lorsque je recherche un article, il affiche des résultats vides. J'ai déjà regardé les questions suivantes. Mais aucun ne m'a aidé la requête de travail.

premierWordpressEmpiler à nouveau

et quelques autres questions aussi. Mais ne travaille pas. De ces questions, j'ai essayé de vérifier l'URL de la page de résultats de recherche. La voici.

edit.php?s=technical&post_status=all&post_type=tickets&action=-1&m=0&paged=1&mode=list&action2=-1

et voici la capture d'écran pour référence. enter image description here

1
Kvvaradha

Pour l'option de recherche de table de publication, il vérifie les titres de publication Pas la table entière comme ce que vous pouvez faire sur jQuery DataTable. Donc, cette option n'est pas supportée par défaut. Mais j'ai trouvé du code sur lequel travailler, je ne l'ai pas essayé, vérifiez-le à vos risques et périls.

function cf_search_join( $join ) {
    global $wpdb;

    if ( is_search() ) {    
        $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id ';
    }

    return $join;
}
add_filter('posts_join', 'cf_search_join' );

function cf_search_where( $where ) {
  global $pagenow, $wpdb;

   if ( is_search() ) {
      $where = preg_replace(
        "/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
        "(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where );
    }

   return $where;
   }
 add_filter( 'posts_where', 'cf_search_where' );


 function cf_search_distinct( $where ) {
   global $wpdb;

    if ( is_search() ) {
        return "DISTINCT";
   }

   return $where;
 }
 add_filter( 'posts_distinct', 'cf_search_distinct' );

essayez et si vous avez un problème, vérifiez ici. pour plus de détails. Ici

1
nadhanshankar