I template personalizzati non vengono visualizzati nel menu a discesa dei template

9 gen 2017, 00:46:48
Visualizzazioni: 97.3K
Voti: 31

Ho alcuni problemi con i template in WordPress (multisite). Ho creato un file nella root del mio child-theme (template-test.php)

<?php
/**
* Template Name: Template di test
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>

Questo template non viene visualizzato nel menu a discesa dei template durante la creazione di una nuova pagina o la modifica di una pagina esistente. L'unica cosa presente nel menu a discesa è il 'template predefinito'.

Ecco cosa ho provato finora: - Disattivare e riattivare il mio tema - Svuotare i permalink - Controllare i permessi dei miei file - Verificare se style.css si trova nella root della cartella del template (ed è presente)

Ho provato lo stesso file su un'altra installazione WordPress e lì funziona correttamente.

4
Commenti

Verifica se hai index.php nella root del tuo tema

Eugene Eugene
1 mag 2017 11:35:38

Sto avendo lo stesso problema e ho provato tutto ciò che hai menzionato. Hai mai trovato una soluzione?

wckronholm wckronholm
5 mag 2017 00:23:54

Nel mio caso non vedo nemmeno il file nell'Editor del Tema. @Tom l'hai risolto?

Ofir Baruch Ofir Baruch
21 nov 2017 14:42:02

Mi è successa la stessa cosa (v5.4.2). All'inizio non funzionava e poi improvvisamente sì. Avevo appena aggiunto la riga '* Template Post Type: post, page, product' che sembrava aver risolto il problema, ma quando l'ho rimossa ha continuato a funzionare... Un mistero? Forse qualche problema di caching?

dra_red dra_red
11 giu 2020 03:42:34
Tutte le risposte alla domanda 7
4
33

In WordPress 4.9 c'è questo bug: https://core.trac.wordpress.org/ticket/42573 che causa la riscrittura dei file template solo una volta ogni ora.

Per risolvere (finché non rilasciano una nuova versione di WP con questa modifica), scarica la patch dal ticket del bug e applica le modifiche dalla patch al file wp-includes/class-wp-theme.php.

Spero che questo faccia risparmiare a qualcuno le 2 ore che ho perso io su questo problema..

21 nov 2017 21:10:36
Commenti

Puoi anche aggiungere questo codice al tuo functions.php o aggiungerlo come plugin per interrompere la cache invece di modificare i file core: https://gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950

Bradley4 Bradley4
22 nov 2017 23:47:22

Un'altra soluzione semplice è incrementare la versione del tema nel file style.css come indicato da @ocean90 sul forum.

r1987 r1987
27 nov 2017 20:53:36

@r1987 l'aggiornamento dello style.css ha funzionato!

Darye Darye
30 nov 2017 01:31:47

Per me il file style.css era corrotto, quindi basta aggiornarlo e dovresti essere a posto

nodws nodws
18 giu 2018 19:02:07
0

Assicurati di avere index.php nel tuo tema principale. Il tema principale deve avere index.php. Ho avuto lo stesso problema e questo era il caso. Verificato con:

function testate(){
    global $wp_themes;
    $tema = wp_get_theme();
    echo '<pre>';
    print_r($tema);
    die;
}

add_action('init', 'testate' );
2 nov 2017 14:01:04
0

C'è un bug in WordPress 4.9.

Ho trovato questo plugin temporaneo estremamente semplice da usare. Penso di disinstallarlo una volta che risolveranno il bug, ma nel frattempo funziona perfettamente!

Plugin: https://github.com/connorlacombe/WP-Clear-File-Cache

22 nov 2017 01:30:24
0

I template possono essere disattivati rimuovendoli dalla variabile globale wp_themes prima che il menu a discesa dei template venga caricato.

Esegui questo codice nella pagina per vedere quali template vengono visualizzati:

global $wp_themes;
$tema = wp_get_themes();
print_r($tema["nome-cartella-child-theme"]["Template Files"]);

Se il tuo template non viene visualizzato, potrebbe essere stato rimosso dall'array dal tema genitore.

Potrebbe invece comparire se esegui questo codice nel front-end, poiché il tema genitore potrebbe rimuoverlo solo durante il caricamento della pagina di modifica nell'admin.

Scarica il tema genitore e cerca nei file le occorrenze di $wp_themes e wp_get_themes(); per individuare dove si trova quel codice.

Speriamo che abbiano fornito un modo per prevenirlo utilizzando un filtro, altrimenti potresti dover reimpostare i file nel child theme. Questo potrebbe esserti utile: http://www.wpexplorer.com/wordpress-page-templates-plugin/

9 gen 2017 01:40:25
0

Ho avuto anche io questo problema con un sito su WordPress Multisite e sono riuscito a risolverlo seguendo questi passaggi:

  1. Vai su http://example.com/wp-admin/network/themes.php (sostituisci example.com con il tuo URL).
  2. Clicca sul link "Modifica" sotto il tema che ti sta causando problemi.
  3. Nella barra laterale destra clicca sul nome del file template che non viene visualizzato. Ad esempio, potrebbe dire "Template Pagina Eventi (template_events.php)".
  4. Non apportare modifiche al file e clicca sul pulsante blu "Aggiorna file".
  5. Aggiorna la schermata di modifica della pagina dove stai cercando di impostare il template e ora dovrebbe apparire nel menu a discesa.

Se questo non risolve il problema, ti suggerisco di dare un'occhiata a http://vanseodesign.com/wordpress/wp-page-templates-dropdown/. Ci sono altre possibili soluzioni lì dentro.

Buona fortuna.

15 mar 2017 22:17:17
0

Hai accidentalmente spostato o rimosso il file style.css dalla root del tema?

Se è così, potrebbe essere questo - ricrea il file style.css del tema per riabilitare il menu a tendina dei template.

21 feb 2019 12:27:52
1
-2

Risolvi il problema del template di pagina non visualizzato nel menu a discesa attiva il plugin qui sotto per risolvere (invece di modificare i file core di WordPress)

Di seguito il link per il download https://drive.google.com/file/d/1ycHQGdc_vQtvtfBaznJp1KRsEbcoRwxB/view?usp=sharing

29 nov 2017 13:28:04
Commenti

Non installare mai un plugin da un link come questo! Non è affidabile. Installa sempre i plugin da fonti attendibili come il WordPress Plugin Repository.

jasonlfunk jasonlfunk
17 dic 2018 14:12:55