2013-09-19 3 views
1

У меня есть эта простая глобальная переменная для вызова пути изображения. Я положил его в functions.php, чтобы он мог использоваться на любых страницах.Невозможно использовать переменную из functions.php в header.php

// Inside functions.php 
$img = get_template_directory_uri().'/assets/img/'; 

// Inside header.php 
<img src="<?php echo $img; ?>my-image.jpg"> 

Но эта переменная возвращает пустой, когда я называю это внутри header.php. Как ни странно, он отлично работает, когда я вызываю его на другой странице шаблона, например index.php.

Я пробовал поиск по Google, но результат всегда о генерическом PHP header(Location).

Любое решение для этого?

Благодаря

ответ

1

Добавить эту функцию в свой functions.php:

function img() 
{ 
    return get_template_directory_uri().'/assets/img/'; 
} 

и использовать это в вашем header.php, как это:

<img src="<?php echo img(); ?>my-image.jpg"> 
+0

Привет, это работает. Вы знаете, почему переменная не работает, но функция делает? – hrsetyono

1

Вы можете определить это глобальный (в заголовке) перед использованием такой как:

<?php 
// Inside functions.php 
$img = get_template_directory_uri().'/assets/img/'; 

// Inside header.php 
global $img; 
?> 
<img src="<?php echo $img; ?>my-image.jpg"> 

Он должен работать.

Рекомендуется использовать решение @Ankit Agrawal.

+0

Спасибо за ответ, но при поиске в Интернете я обнаружил, что некоторые люди говорят, что переменная 'global' - это плохо. Поэтому я последую за ответом Ankit – hrsetyono

+0

Вы правы. Вот почему, я также рекомендовал то же самое. Всего наилучшего :) –

Смежные вопросы