Query per titoli di post "simili"

11 feb 2013, 12:21:45
Visualizzazioni: 96.3K
Voti: 17

Ho utilizzato un custom post type per uno dei miei siti web. Il tipo di post personalizzato contiene dati di carte gratta e vinci insieme ad alcuni campi personalizzati.

Ho sviluppato un'applicazione Android per gestire questi elementi da dispositivo mobile.

Nell'app Android, voglio implementare una funzionalità di ricerca che aiuti gli utenti amministratori a cercare numeri di carta per gestirli.

Posso usare la query di WordPress per cercare per titolo.

$args = array("post_type" => "mytype", "name" => $title);
$query = get_posts( $args );

Questo restituisce risultati solo se fornisco un titolo esatto. Ma ho bisogno di recuperare tutti gli elementi con titoli simili.

Qualche suggerimento?

1
Commenti

Invece di utilizzare get_posts() puoi usare la query di ricerca predefinita di WordPress che ti fornirà i risultati del termine cercato. Ti fornirà anche tutti i risultati corrispondenti con tutti i tuoi termini di ricerca.

Rohit Pande Rohit Pande
11 feb 2013 12:44:56
Tutte le risposte alla domanda 3
2
33

Puoi utilizzare sia il parametro di ricerca di wp_query:

$args = array("post_type" => "mytype", "s" => $title);
$query = get_posts( $args );

Oppure puoi ottenere i post in base al titolo tramite la classe wpdb:

global $wpdb;
$myposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_title LIKE '%s'", '%'. $wpdb->esc_like( $title ) .'%') );

Quindi otterrai l'oggetto post in questa forma:

foreach ( $myposts as $mypost ) 
{
    $post = get_post( $mypost );
    //esegui qui il tuo codice di output
}
11 feb 2013 12:52:20
Commenti

Funziona ancora nel 2019?

Naren Verma Naren Verma
12 dic 2019 20:58:49

Nota che usando s in get_posts la ricerca non si limiterà al solo titolo... cercherà anche nel contenuto.

FluffyKitten FluffyKitten
11 lug 2020 18:48:00
3
13

Molto più semplice al giorno d'oggi:

$posts = get_posts([
    'post_type'  => 'recipe',
    'title' => 'Chili Sin Carne',
]);

$posts conterrà tutte le ricette con il titolo esatto "Chili Sin Carne".

2 nov 2020 04:00:14
Commenti

L'OP chiedeva una corrispondenza fuzzy

alexg alexg
11 mag 2021 18:27:25

Ops, hai ragione. Ho letto solo il titolo :$

Jules Jules
15 mag 2021 13:18:02

grazie. ha funzionato

Akshay K Nair Akshay K Nair
27 dic 2021 13:29:45
0

Puoi fare qualcosa del genere:

$posts = get_posts([
            'post_type'   => 'recipe',
            'post_status' => ['publish', 'draft', 'private'],
            's'           => 'stringa di ricerca',
            'search_columns' => ['post_title']
        ]);

Questo cercherà solo nel post_title degli articoli

9 dic 2023 13:53:39