Quello che sto cercando di fare è convertire il mio design di una pagina in wordpress e ho pensato che sarebbe stato bello poter modificare, aggiungere e modificare diverse parti della pagina in pagine separate . Il sito web di una pagina sarà ordinato da un menu (con ID principale).Problema di wordpress a una pagina con get_template_part e get_footer
Dopo la wp-codex ho usato get_template_part
, dovrebbe funzionare correttamente perché dovrebbe:
Caricare una parte di modello in un modello (diverso da intestazione, sidebar, piè di pagina)
get_header
viene saltato ma viene eseguito get_footer
e il sito viene visualizzato in modo errato.
front-page.php
$pages = wp_get_nav_menu_items('main');
global $post;
foreach ($pages as $post) {
$post = get_post($post->object_id);
if($post->post_type != "page") continue;
setup_postdata($post);
$postName = (locate_template('page-' . $post->post_name . '.php') == '') ? null : $post->post_name;
get_template_part('page', $postName);
}
wp_reset_postdata();
Si tratta di un bug? O ho fatto qualcosa di sbagliato? Qual è il modo migliore per farlo?
Quali sono i contenuti della "parte" 'modello page.php'? I modelli di pagina di WordPress predefiniti per tutto il tempo che posso ricordare hanno incluso intestazione, piè di pagina e anche barra laterale, quindi non è realmente un modello "parziale" o parziale, ma piuttosto l'intera cosa. Direi rotolare la tua parte, senza chiamare 'get_header',' get_footer', ecc. –
Sono d'accordo con @tbuteler, crea la tua parte template predefinita, invece di usare 'page.php', che di solito contiene' get_ { testa, piè di pagina}() '. Inoltre non userei 'page- {slug} .php', perché è usato da WordPress per sovrascrivere il template per quella particolare pagina. Vorrei usare per esempio 'onepage- {slug} .php'. Prova ad esempio: 'if (! Is_null ($ postName)) get_template_part ('page', $ postName);' per verificare se il layout è reso correttamente. – birgire
Ah, quindi l'ho interpretato in modo errato. Nella mia (vecchia) comprensione wordpress salta le funzioni 'get_header',' get_footer' e 'get_sidebar' ma ciò che effettivamente richiede è un modello senza queste funzioni. – Ties