Modelli personalizzati non visualizzati nel menu a discesa dei modelli


23

Ho dei problemi con i template in Wordpress (multisito). Ho creato un file nella radice della mia cartella del tema figlio (template-test.php)

<?php
/**
* Template Name: Test template
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>

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

Cosa ho provato finora: - Disabilitare e abilitare il mio tema - Svuota permalink - Controlla i permessi dei miei file - Controlla se style.css è nella radice della cartella dei template (lo è)

Ho provato lo stesso file su un'altra installazione di Wordpress e lì funziona benissimo.


Controlla se hai index.php nella radice del tuo tema
Eugene,

Sto riscontrando lo stesso problema e ho provato tutto ciò che hai menzionato. Hai mai avuto una soluzione?
wckronholm,

Nel mio caso non vedo nemmeno il file nell'editor dei temi. @Tom l'hai risolto?
Ofir Baruch,

Risposte:


32

Proprio in Wordpress 4.9 c'è questo errore: https://core.trac.wordpress.org/ticket/42573 che causa la nuova scansione dei file modello solo una volta ogni ora.

Per risolvere (fino a quando non rilasciano una nuova versione di WP con questa modifica), scarica la patch su quel ticket bug e apporta le modifiche dalla patch a wp-includes/class-wp-theme.php.

Spero che questo salvi qualcuno le 2 ore che ho sprecato in questo ..


3
Puoi anche aggiungere questo codice al tuo function.php o aggiungerlo come plug-in per interrompere la memorizzazione nella cache anziché modificare i file core: gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950
Bradley4

8
Un'altra soluzione semplice è quella di cancellare la versione del tema nel file style.css come indicato da @ ocean90 sul forum.
r1987,

1
@ r1987 l'aggiornamento style.css ha funzionato!
Darye,

Per me style.css era corrotto, quindi aggiorna il file e dovresti essere bravo
annuisce il


3

Assicurati di avere index.php nel tuo tema principale. Il tema principale deve avere index.php. Ho lo stesso problema, e questo è stato il caso. Controllato da:

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

add_action('init', 'testate' );

2

Ho anche avuto questo problema con un sito su WordPress Multisite ed è stato in grado di risolverlo seguendo questi passaggi:

  1. Vai su http://example.com/wp-admin/network/themes.php (sostituisci example.com con il tuo URL).
  2. Fai clic sul link "Modifica" sotto il tema che causa problemi.
  3. Nella barra laterale destra fai clic sul nome del file modello che non viene visualizzato. Ad esempio, potrebbe essere indicato "Modello di pagina eventi (template_events.php)".
  4. Non apportare modifiche al file e fare clic sul pulsante blu "Aggiorna file".
  5. Aggiorna la schermata di modifica della pagina in cui stai cercando di impostare il modello e ora dovrebbe essere visualizzato nel menu a discesa.

Se questo non ti risolve il problema, ti suggerisco di visitare http://vanseodesign.com/wordpress/wp-page-templates-dropdown/ . Ci sono alcune altre possibili soluzioni.

In bocca al lupo.


1

I modelli possono essere disattivati ​​disabilitandoli dalla wp_themesvariabile globale prima che il menu a discesa del modello venga caricato.

Esegui questo codice sulla pagina per vedere quali modelli vengono visualizzati:

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

Se il modello non viene visualizzato, il tema principale potrebbe averlo disattivato dall'array.

Potrebbe essere visualizzato se si esegue questo codice in front-end, poiché il tema principale potrebbe non essere impostato durante il caricamento della pagina dell'editor di amministrazione.

Scarica il tema principale e cerca i file $wp_themese wp_get_themes();trova la posizione di quel codice.

Speriamo che ti abbiano dato un modo per impedirlo usando un filtro, altrimenti potresti dover aggiungere nuovamente i file nel tema figlio. Questo potrebbe essere utile: http://www.wpexplorer.com/wordpress-page-templates-plugin/


0

Correggi il modello di pagina che non viene visualizzato nel menu a discesa. Attiva il plug-in sottostante per correggere (invece di modificare i file core di wordpress)

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


2
Non installare mai un plugin da un link come questo! Non ci si può fidare. Installa sempre plug-in da fonti attendibili come il repository di plugin di Wordpress.
Jasonlfunk,

0

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

In tal caso, potrebbe essere questo: ricreare i temi style.css per riattivare il menu a discesa del modello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.