Un utente ha chiesto informazioni su Custom Post Type UI di Wordpress

non è possibile cercare un tipo di lavoro personalizzato

Un utente ha chiesto 👇

Ciao a tutti, non riesco a capirlo dopo così tante ore di ricerca. Sto sviluppando questo sito (ancora al 60%) con il tema divi. Ho creato 3 tipi di post personalizzati

struttura
tour
offerta

ma non riesco a ottenere risultati di ricerca da questi 3 plc.
Seguendo questo collegamento
https://docs.pluginize.com/article/23-post-type-posts-in-search-results

Ho aggiunto il codice qui sotto

/ * cpt ui ricerca * /
function my_cptui_add_post_type_to_search ($ query) {
if (is_admin ()) {
ritorno;
}

if ($ query-> is_search ()) {
$ cptui_post_types = cptui_get_post_type_slugs ();
$ query-> set (
“post_type”,
array_merge (
edit (‘post’, ‘page’, ‘tour’, ‘struttura’, ‘offerta’ ‘project’), // Può anche aggiungere il tipo di post “page”.
$ cptui_post_types
)
);
}
}
add_filter (‘pre_get_posts’, ‘my_cptui_add_post_type_to_search’);

ma l’unico effetto di questo codice è che il progetto cpt (questi progetti plc sono integrati nel tema divi) viene visualizzato ma il cpt creato con cptui non è ancora visualizzato nei risultati della ricerca. Ho già provato altri moduli di ricerca e persino la ricerca di base wp con gli stessi risultati.
per esempio non posso cercare questo plc
http://neos.anekitalia.com/tours/tour-sulle-ombre-di-alessandro-magno/

Grazie mille

Questo argomento è stato modificato 2 anni, 3 mesi fa da.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

Sto incollando qui il codice generato per il viaggio plc

function cptui_register_my_cpts_tour () {

/ **
* Tipo di lavoro: tour.
* /

$ etichette = modifica (
“Name” => __ (“Tours”, “custom-post-type-ui”),
“Singular_name” => __ (“Journey”, “custom-post-type-ui”),
“All_items” => __ (“Tutti i Tours”, “custom-post-type-ui”),
“Add_new” => __ (“Aggiungi trip”, “custom-post-type-ui”),
“Search_items” => __ (“turas cerca”, “custom-post-type-ui”),
);

$ args = modifica (
“Label” => __ (“Tours”, “custom-post-type-ui”),
“Labels” => $ etichette,
“Description” => “”,
“Public” => true,
“Public_queryable” => true,
“Show_ui” => vero,
“Delete_with_user” => false,
“Show_in_rest” => true,
“Rest_base” => “”,
“Rest_controller_class” => “WP_REST_Posts_Controller”,
“Has_archive” => false,
“Show_in_menu” => true,
“Show_in_nav_menus” => true,
“Exclude_from_search” => falso,
“Acity_type” => “post”,
“Map_meta_cap” => true,
“Hierarchical” => falso,
“Rewrite” => array (“slug” => “trips”, “with_front” => false),
“Query_var” => true,
“Menu_position” => 7,
“Menu_icon” => “/wp-content/uploads/media/icona-tour.png”,
“Supports” => modifica (“titolo”, “editor”, “miniatura”, “estratto”),
“Tassonomie” => modifica (“tour_category”),
);

register_post_type (“tour”, $ args);
}

add_action (‘init’, ‘cptui_register_my_cpts_tour’);

Autore del plugin

(@ tw2113)

Un BenchPresser

2 anni, 3 mesi fa

Un paio di cose.

1. Non sapendo esattamente quale sia il problema dell’applicazione, non posso aiutare più di tanto.
2. Tutto quello che vedo, a parte forse fare troppo con l’hook pre_get_posts (), è quello che fa di solito.

Prova questo stick di codice:

function my_cptui_add_post_type_to_search( $query ) {
	if ( is_admin() || ! $query->is_main_query() ) {
		return;
	}

	if ( $query->is_search() ) {
		$query->set(
			'post_type',
			array( 'post', 'page', 'tour', 'struttura', 'offerta' 'project' ),
		);
	}
}
add_filter( 'pre_get_posts', 'my_cptui_add_post_type_to_search' );

1. Assicurati che venga aggiunto alle funzioni del tuo theme.php attivo.
2. Ho modificato ciò che hai usato sopra per rimuovere una chiamata di funzione e ho rimosso la modifica unione. Sono anche tornato in anticipo per usi WP_Query non primari. Questo può o non può avere un ruolo.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

Grazie per la risposta,
Ho aggiunto il tuo codice ma purtroppo con gli stessi risultati posso cercare post di blog, progetti, pagine ma non il cpt creato con cptui. Penso che ci sia qualcosa di sbagliato nel modo in cui ho creato le tassonomie per questi plc .. ma non riesco a capirlo. C’è qualcosa che posso controllare per aiutarti a dare qualche consiglio?
Grazie mille

Autore del plugin

(@ tw2113)

Un BenchPresser

2 anni, 3 mesi fa

Potrebbero essersi verificati dei problemi con il codice precedente, in particolare per alcune virgole.

Questo dovrebbe essere accurato e corretto, proporzionato:

function my_cptui_add_post_type_to_search( $query ) {
	if ( is_admin() || ! $query->is_main_query() ) {
		return;
	}

	if ( $query->is_search() ) {
		$query->set(
			'post_type',
			array( 'post', 'page', 'tour', 'struttura', 'offerta', 'project' )
		);
	}
}

add_filter( 'pre_get_posts', 'my_cptui_add_post_type_to_search' );

Hai menzionato qualcosa nel tuo ultimo commento che mi ha reso strano. Vuoi cercare questo tour_category tassonomia? Supponiamo che “studio” sia uno dei termini di quella tassonomia. Vuoi cercare “studio” e aspettarti che i risultati vengano visualizzati, ma nessuno di loro? Per impostazione predefinita e per impostazione predefinita, WordPress cerca solo titoli di lavoro e contenuti di lavoro. Non esegue la ricerca meta o tassonomia. Quindi, se stai testando con valori che non si trovano nel titolo o nel contenuto, non produrrà risultati per te.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

grazie ancora per il vostro supporto, ho notato le virgole e gli errori di sintassi e li ho corretti prima di postare il risultato, quindi non è cambiato nulla. Per la tassonomia .. ho creato un plc chiamato tour e la relativa touronomy tour_category, poi ho creato alcuni nuovi post all’interno del tour, diciamo villa borghese e philippos (questo è il titolo dei post), poi ho provato a cercare tramite divi search module, il modulo di ricerca wordpress e un plug-in esterno chiamato ajax cercano le parole villa, borghese, philippos ma non viene mostrato nulla tranne i post wp predefiniti, le pagine e il progetto divi plc (come ho detto il progetto prima del codice).
Sto cercando un accordo di 2 giorni senza risultati.

Questa risposta è stata modificata 2 anni, 3 mesi fa da. Autore del plugin

(@ tw2113)

Un BenchPresser

2 anni, 3 mesi fa

A questo punto, è forse l’unica ipotesi che ho $query->is_search() non torno in alcun modo e quindi le modifiche non vengono applicate affatto.

Guarda cosa fa questa versione:

function my_cptui_add_post_type_to_search( $query ) {
	if ( is_admin() || ! $query->is_main_query() ) {
		return;
	}

	$query->set(
		'post_type',
		array( 'post', 'page', 'tour', 'struttura', 'offerta', 'project' )
	);
}

add_filter( 'pre_get_posts', 'my_cptui_add_post_type_to_search' );

Includerà tutti questi tipi di post come parte di tutto, ma se iniziano a essere visualizzati nei risultati di ricerca, allora abbiamo una guida che puoi scegliere.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

grazie per la pazienza lo apprezzo e scusa per la risposta tardiva ma scrivo dall’Italia .. Purtroppo il tuo codice fa lo stesso di prima, posso cercare tutti i post con il loro progetto cpt include il tema divi ma non quello creato con cptui. Scusami ma a questo punto penso che ci sia qualcosa che non va nel modo in cui ho creato il plc, forse ci sono delle impostazioni che non ho implementato.

Autore del plugin

(@ tw2113)

Un BenchPresser

2 anni, 3 mesi fa

Nessuna preoccupazione per le differenze di orario. Rispondiamo a due quando possiamo.

Le tue impostazioni mi stanno benissimo, niente sembra fuori posto. Ho persino creato questo tipo di lavoro nella mia installazione locale ei risultati sono stati come mi aspettavo. L’unica differenza è che non ho creato quella tassonomia, ma ciò non dovrebbe fare la differenza.

Mi chiedo se hai qualcos’altro da qualche altra parte sul tuo sito Web che interferisce in qualche modo, e questo non è stato ancora trovato.

Un’altra idea / opzione è provare a registrare il tipo di lavoro manualmente, al di fuori di CPTUI e vedere se i risultati differiscono o rimangono gli stessi. Se rimangono gli stessi, probabilmente è un problema “non trovato” piuttosto che lo stesso CPTUI.

Voglio solo aiutare.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

ok ho provato questo semplice codice per ottenere un punto di partenza e questo comunque non mi da risultati .. hmm .. non so proprio perché sta succedendo sto pensando a qualcosa lato server (il sito è ospitato su il mio cluster ad alte prestazioni locale con php7 e mariadb 10.1)

// Our custom post type function
function create_posttype() {
 
    register_post_type( 'movies',
    // CPT Options
        array(
            'labels' => array(
                'name' => __( 'Movies' ),
                'singular_name' => __( 'Movie' )
            ),
            'public' => true,
            'has_archive' => true,
			'exclude_from_search' => false,
			'publicly_queryable'  => true,
            'rewrite' => array('slug' => 'movies'),
        )
    );
}
// Hooking up our function to theme setup
add_action( 'init', 'create_posttype' );

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

un’altra cosa strana è che i risultati del backend sono ok

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

ok progresso .. esplora l’URL generato dei risultati di ricerca
se cerco ad esempio philippos sarà così

http://neos.anekitalia.com/?s=philippos

nessun risultato a meno che io non dia

http://neos.anekitalia.com/?s=philippos&post_status=all&post_type=struttura&action=-1&m=0&struttura_category&paged=1&action2=-1

mi darà i risultati giusti. Ho ricevuto questo URL dal weekend di wp
http://neos.anekitalia.com/wp-admin/edit.php?s=philippos&post_status=all&post_type=struttura&action=-1&m=0&struttura_category&paged=1&action2=-1

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

più semplice questo URL funziona
http://neos.anekitalia.com/?s=philippos&post_type=struttura

e questo non lo è
http://neos.anekitalia.com/?s=philippos

Autore del plugin

(@ tw2113)

Un BenchPresser

2 anni, 3 mesi fa

Un modo è sicuramente dare determinati risultati, ma il 99,9% dei tuoi visitatori saprà che è necessario farlo. 100% non adatto.

Saresti disposto a rimuovere questo problema dai forum e comunicare in privato? In tal caso, puoi inviare un’e-mail a support@pluginize.com e fornire un collegamento al thread di questo forum in modo che possiamo mantenere le cose organizzate e consapevoli di ciò che è coinvolto.

Lanciatore di thread

(@ wassy83)

2 anni, 3 mesi fa

ok grazie mando una mail con i dettagli,
per il momento correggere questo jquery è nella mia intestazione

jQuery (documento). già (funzione ($) {
$ (“‘) .attr ({tipo:’ nascosto ‘, nome:’ post_type ‘, valore:’ struttura ‘}). appendixTo (‘#searchform’);
$ (“‘) .attr ({tipo:’ nascosto ‘, nome:’ post_type ‘, valore:’ struttura ‘}). appendixTo (‘widget_search form’);
$ (“‘) .attr ({tipo:’ nascosto ‘, nome:’ post_type ‘, valore:’ struttura ‘}). appendixTo (‘. et_search_form_container form’);
});

questo aggiungerà gli attributi mancanti all’URL di ricerca dei 3 diversi moduli di ricerca che ho sul mio sito (quello divi, quello mobile e quello wp), ma è molto pericoloso.

grazie ancora

(@danidub)

1 anno, 11 mesi fa

Ciao, ho la stessa domanda, qualche idea su quale sia la soluzione? La mia ricerca non restituisce nessuno dei post dell’interfaccia utente CPT. Ho anche provato il codice che hai creato senza fortuna.
Grazie.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *