• Salve a tutti.
    Per la seconda volta nella mia vita, mi sto dilettando nello sviluppo di un sito web (sono una Graphic Designer). Sto usando WordPress + Elementor Free.
    Avrei bisogno di 2 tipologie di articoli diversi ossia Notizie (userò il template di base dell’articolo) e “Predica” (creata con ACF -> Custom Post Type). In quest’ultimo caso, il design della pagina (da assemblare con Elementor) deve essere uguale per tutte le prediche.

    La scrittura di questa tipologia di articoli sarà gestita da persone che non hanno molta dimestichezza con questa tipologia di strumenti. Vorrei pertanto lasciare la scrittura e l’inserimento dei vari campi personalizzati quanto più semplice possibile, possibilmente attraverso l’interfaccia di scrittura dei contenuti propria di WordPress.

    Quello che mi domando è questo: è possibile creare un template specifico per “predica” che venga caricato e applicato automaticamente all’articolo al momento della sua creazione-scrittura?

    So che se avessi Elementor Pro, avrei potuto usare Display Conditions.


    Che ho fatto
    Ho fatto diverse ricerche online, anche chiedendo l’aiuto a ChatGpt, tuttavia a parere mio l’aiuto di un essere umano è insostituibile.

    1) Ho creato sia un template attraverso WordPress che attraverso Royal Element Addons (mi sono resa conto successivamente che mettere la condizione per il CPT è a pagamento).

    2) ChatGpt mi ha guidato come di seguito:

    • Siccome sto usando un tema child, mi ha fatto creare un file php nella cartella del tema child chiamato “single-predica.php” contenente le seguenti righe di codice:
    <?php /* Template personalizzato per il Custom Post Type "Predica" */ 
    get_header(); // ID del template Elementor (sostituisci con il tuo ID)
    $template_id = 1672; // Se Elementor è attivo, carica il template personalizzato
    if ( function_exists('elementor_theme_do_location') && elementor_theme_do_location('single') ) { // Elementor gestisce il template }
    elseif ( function_exists('elementor') ) { echo do_shortcode('[elementor-template id="' . $template_id . '"]'); } else { // Se Elementor non è attivo, mostra il contenuto classico if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <article> <h1><?php the_title(); ?></h1> <div class="content"> <?php the_content(); ?> </div> </article> <?php endwhile; endif; } get_footer(); ?
    • Nel file “functions.php” mi ha fatto aggiungere questo codice:
    function override_predica_template($template) { if ( is_singular('predica') ) { return get_stylesheet_directory() . '/single-predica.php'; } return $template; } add_filter('single_template', 'override_predica_template');


    La mia alternativa, macchinosa e non automatica, è caricare per ogni predica il template attraverso Elementor.

    Mi appello dunque alla vostra esperienza. C’è un modo per farlo?

    Spero di essere stata per tutto chiara.
    Se ho detto delle fesserie, non biasimatemi.

    La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

Stai visualizzando 2 risposte - dal 1 al 2 (di 2 totali)
  • Chi ha creato la discussione thegoldeneagle

    (@thegoldeneagle)

    Mi sono resa conto che se applico la mia alternativa succede questo:
    Carica il template inserendo ogni elemento della predica al posto giusto. Quando arriva il momento di mostrare il contenuto del post – che dovrebbe essere puro testo – all’interno del box del contenuto viene presentata la ripetizione della pagina – quindi il template. Quindi, una pagina nella pagina.

    Cosa ho combinato?
    aiutatemi please.

    Moderator Gloria Liuni

    (@glorialchemica)

    Ciao @thegoldeneagle,
    secondo me ti sei infilata in un ginepraio.

    Se hai fatto un tema child il codice per il CPT deve partire dal template single.php del tema.
    Che tema stai usando?

    Personalmente ti consiglio di togliere Elementor e Royal Element Addon e usare un tema multipurpose come Blocksy che gestisce i template dei CPT facilmente da Personalizza.

    Se ti occupi saltuariamente di creare siti web, trovare lo strumento più facile da gestire e che si manterrà nel tempo da solo è la cosa migliore.
    Facci sapere

Stai visualizzando 2 risposte - dal 1 al 2 (di 2 totali)
  • Devi essere collegato per rispondere a questo topic.