Includere i file nel file funzioni tema bambino
-
16-10-2019 - |
Domanda
In genere nel mio file funzione tema che ti richiedono altri file per mantenere le cose pulite.
require_once("foo.php");
Ora lavora in un tema bambino mi piacerebbe fare lo stesso. Sto aggiungendo opzioni di amministrazione personalizzato e sembra impossibile includere il codice. Ho fatto eco il percorso per assicurarsi che io chiamo il file giusto e sta chiamando la posizione corretta, ma niente dentro quel file sembra funzionare. Il codice viene eseguito bene se posto all'interno del file di funzioni tema bambino.
Soluzione
temi genitore Bambino temi di riferimento in base al nome di directory, e in un normale installare tutti i vostri temi vivono in wp-content/themes/
, quindi direi che va bene per fare riferimento i temi dal loro percorso relativo:
include '../parent-theme/some-file.php';
Se questo ti fa a disagio, ho osservare le seguenti costanti in WordPress 3.0.1 con un TwentyTen tema bambino chiamato TT-figlio :
TEMPLATEPATH /home/adam/public_html/wp3/wp-content/themes/twentyten
STYLESHEETPATH /home/adam/public_html/wp3/wp-content/themes/tt-child
Così si può effettuare le seguenti operazioni nel tema del bambino per fare riferimento alla cartella del tema principale:
include TEMPLATEPATH . '/some-file.php';
Altri suggerimenti
In un tema bambino il modo corretto è
require_once( get_stylesheet_directory() . 'foo.php');
Mentre in tema genitore è comunque possibile utilizzare
require_once ( get_template_directory() . 'foo.php' );
get_template_directory()
funziona ancora nel tema bambino, purtroppo bersaglio la cartella del tema genitore. Nel tuo caso è utile
Ciao @curtismchale :
Non so se questo è vero o no, ma è necessario includere le virgolette attorno foo.php
, in questo modo:
require_once('foo.php');
fa che risolto il problema?
Usa <?php get_template_part( 'name-the-page-here' ); ?>
.
Senza l'estensione .php
Lei sicuramente non vogliono codificare l'URL. Il modo corretto per farlo è
require_once( get_stylesheet_directory(). '/my_included_file.php' );
Vedere ulteriori informazioni a Wordpress Codex
Ora, se il vostro esempio modificando header.php che ha un include che ci si riferimento a esso come segue:
require_once( get_stylesheet_directory() . '/../parenthteme/my_included_file.php' );
E 'del tutto possibile e normale da fare comprende in functions.php
.
Lo faccio come questo nel mio tema bambino (php
è sottodirectory per il codice):
include 'php/core.php';
In caso di problemi, senza apparente motivo provare ad attivare la modalità di debug in wp-config.php
:
define('WP_DEBUG', true);
Ci potrebbe essere errori rilevanti accadendo, ma non visualizzato.
Credo che questo sia il modo migliore per ottenere il vostro percorso tema figlio
<?php $get_my_path = dirname( get_bloginfo('stylesheet_url') ); ?>
<?php require_once( $get_my_path. '/my_included_file.php' ); ?>
Prendi spunto da http: // dynamicweblab. com / 2013/02 / get-modello-path-in-wordpress-figlio-themes /