2016-04-17 11 views
0

私は、PHPの上部にあるPHPの束を持つファイルと持っている:header.phpのはGET_HEADER前にPHP変数を評価しません()

$title2="stevea"; 
get_header(); 
?> 

<!-- Display the form --> 

<body> 

(GET_HEADERヘッダファイル)に引っ張る

です
<?php 
/** 
* Header Template 
* 
* Here we setup all logic and XHTML that is required for the header section of all screens. 
* 
* @package WooFramework 
* @subpackage Template 
*/ 
$title="qwerty"; 
?><!DOCTYPE html> 
<html <?php language_attributes(); ?>> 
<head> 
<meta charset="<?php echo esc_attr(get_bloginfo('charset')); ?>" /> 

<title><?php echo $title ?> | <?php echo $title2 ?></title> 

、ページがロードされたときにソースがそうheader.phpの($のQWERTY)で定義されたPHP変数が見つかった

<!DOCTYPE html> 
<html lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head> 
<meta charset="UTF-8" /> 

<title>qwerty | </title> 

を示しており、 <title>行で評価されますが、get_header()が呼び出される前に定義されたPHP変数($ stevea)が見つからず評価されていません。

ここで何が起こっているか知っていますか?

+0

$ TITLE2変数である。header.phpの中で、私はそれらを再読ので、変数は、メタデータから来ますヘッダーページで$ title2を使用すると、ヘッダーページでは使用されません。変数がローカルスコープであるためです。 –

+0

はい、私は$ title2がget_header()を呼び出すphpファイルによって実際に計算されるため、できません。それはちょうど$ title2 = "stevea"ではなく、ヘッダーファイルで計算できるテンプレートファイルで計算する代わりに – Steve

+0

のようなものです。ホームページであるか否かのような様々な条件チェックを使用して、カテゴリページであるかテンプレートページであるか –

答えて

0

@Samir、

はい、これは私がそれを解決した方法です。

$meta = get_post_meta($ID);  
$meta = array_map(function($n) {return $n[0];}, $meta);  
$product_title=$meta['product_title']; 
$barcode_number=$meta['barcode_number']; 

今、私は書くことができます:

<title><?php echo $product_title ?> Barcode <?php echo $barcode_number ?></title> 
を、右のデータが差し込まます

関連する問題