2015-08-01 3 views
0

Я довольно новичок в wp. Я нашел других людей, использующих этот фильтр код в верхней части шаблона, чтобы задать заголовок для этой страницы:как установить заголовок страницы для страницы Wordpress шаблона?

function assignPageTitle(){ 
    return "Custome Title"; 
} 
add_filter('wp_title', 'assignPageTitle'); 

Но мне нужно, чтобы передать мою assignPageTitle функция 1 параметр из query_vars $wp_query->query_vars['claim_id'], И моя getTitle функция строит название, основанное на идентификаторе содержимого. Что-то вроде этого я подумал, но это не сработает. $wp_query->query_vars['claim_id'] является null при вызове внутри этой функции:

function assignPageTitle(){ 
    return getTitle($wp_query->query_vars['claim_id']); 
} 
add_filter('wp_title', 'assignPageTitle'); 

Я вижу некоторые люди, использующие параметры с этими фильтрами что-то вроде этого:

function assignPageTitle($claim_id){ 
    return getTitle($claim_id); 
} 
add_filter('wp_title', 'assignPageTitle',10,1); 

Но это, где я получаю крайне запутанным. ГДЕ это, что я могу передать переменную Claim_id функции assignPageTitle($claim_id)? Помещение assignPageTitle(312) под этим кодом фильтра ничего не делает, и wp_title(234) просто перекликается с заголовком, как строка, где бы я ни размещался на странице шаблона.

Я также попытался просто редактированием functions.php, где происходит название:

<title><?php getTitle($wp_query->query_vars['claim_id']);?></title> 

Но $wp_query->query_vars['claim_id'] является null при вызове в функции.

Должно быть, я полностью не понимаю эти фильтры, как я могу получить заголовок, который должен быть установлен на выходе getTitle($wp_query->query_vars['claim_id'])?

+0

Попробуйте добавить 'global $ wp_query;' в качестве первой строки в функции 'assignPageTitle()'. – rnevius

+0

Да, это было просто, как –

ответ

1

$wp_query - глобальная переменная. Чтобы получить доступ к глобальной переменной в вашем коде, сначала необходимо произвести глобализацию переменной с помощью global $variable;. В вашем случае, это означает:

function assignPageTitle(){ 
    global $wp_query; 
    return "Custome Title"; 
} 
add_filter('wp_title', 'assignPageTitle'); 

Там более подробную информацию о глобальных переменных WordPress in the Codex.

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