Visualizzazione di custom post type in frontend

1 dic 2014, 07:36:28
Visualizzazioni: 17K
Voti: 0

Sto cercando di capire come funzionano i custom post type. Quello che voglio ottenere è un semplice elenco di filiali. C'è un menu "Rivenditori" con dropdown che mostra le regioni. Quando si clicca su una regione, vorrei che mostrasse semplicemente le filiali presenti in quella regione. Niente di elaborato, nessuna mappa, solo testo semplice con nome della filiale e dettagli di contatto + indirizzo. Qualcosa del genere:

Nome Filiale
Persona di Contatto
Indirizzo
Numero di telefono


Nome Filiale 2
Persona di Contatto 2
Indirizzo 2
Numero di telefono 2

Ho utilizzato il plugin Custom Post UI e un altro che mi permette di aggiungere questi dati nel backend. Non riesco assolutamente a capire come visualizzarli nel frontend.

Non voglio che si comporti come un post normale dove lista tutto e devi cliccare per i dettagli. Dovrebbe semplicemente mostrarsi come sopra quando clicchi su una regione dal dropdown. Esiste un plugin che faccia questo o devo codificarlo manualmente?

3
Commenti

Devi creare un archivio per il custom post type nel tuo tema come: archive-{$post-type}.php. Questo è tutto. È la cosa fondamentale. :)

Mayeenul Islam Mayeenul Islam
1 dic 2014 07:55:11

Hai creato il CPT e i campi personalizzati usando un plugin?

Brad Dalton Brad Dalton
1 dic 2014 10:44:37

Ciao. Sì, ho usato un plugin. Penso fosse Custom Post UI

Iggy's Pop Iggy's Pop
1 dic 2014 22:08:35
Tutte le risposte alla domanda 3
1

Puoi farlo facilmente in questo modo, basta duplicare single.php e rinominarlo come single-custom-post-type-name.php, ad esempio single-cars.php, stessa cosa per archive o taxonomy, taxonomy-taxonomy-name.php o archive-taxonomy-name.php

Oppure puoi creare la tua query per una pagina random, home o blog:

<?php
// La Query
$query = new WP_Query(array('post_type' => 'your-custom-post'));
query_posts( $query );

// Il Loop
while ( $query->have_posts() ) : $query->the_post();  
  // il contenuto del post (titolo, excerpt, thumb....)
endwhile;

// Resetta la Query
wp_reset_query();
?>

Buona fortuna! ;)

1 dic 2014 10:31:24
Commenti

Grazie, proverò questa soluzione nei prossimi due giorni. Grazie mille per la tua risposta.

Iggy's Pop Iggy's Pop
1 dic 2014 22:09:37
1
<?php while (have_posts()) : the_post(); ?>
<?php
    $args = array('post_type' => 'employee', 'posts_per_page' => 10);
    $the_query = new WP_Query($args);
    ?>
    <?php if ($the_query->have_posts()) : ?>
      <?php while ($the_query->have_posts()) : $the_query->the_post();?>

        <?php endwhile;
        wp_reset_postdata(); ?>
    <?php else :  ?>
        <p><?php _e('Spiacenti, nessun articolo corrisponde ai tuoi criteri.'); ?></p>
    <?php endif; ?>
<?php
endwhile;
?>
12 ott 2021 12:10:16
Commenti

Non sono sicuro di cosa stia succedendo qui: hai il loop principale nella prima e ultima riga, e hai un loop separato per visualizzare gli stessi primi 10 dipendenti tra ogni post nel loop principale?

Rup Rup
13 ott 2021 12:31:21
1

Provalo e buona fortuna


$args = array(
    'post_type' => 'your custom post name', // Il nome del tuo custom post
    'post_status' => 'publish', // Stato del post
    'posts_per_page' => 10, // Numero di post per pagina
);
$arr_posts = new WP_Query( $args );

if ( $arr_posts->have_posts() ) :
while ( $arr_posts->have_posts() ) :
$arr_posts->the_post();
    echo the_title(); // Mostra il titolo del post
endwhile;endif;
wp_reset_postdata(); // Reimposta i dati del post

12 ott 2021 14:27:05
Commenti

La tua risposta potrebbe essere migliorata con ulteriori informazioni di supporto. Per favore [modificala] per aggiungere maggiori dettagli, come citazioni o documentazione, in modo che altri possano confermare che la tua risposta è corretta. Puoi trovare maggiori informazioni su come scrivere buone risposte nel centro assistenza.

User User
13 ott 2021 14:56:30