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.

È stato utile?

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 /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top