Вы можете абсолютно использовать шорткод в названии. Вам просто нужно использовать систему крючков WordPress для запуска короткого кода при вызове названия. Так что если вы хотите иметь шорткод [year]
что выплевывает текущий год, вы будете создавать шорткод:
add_shortcode('year', 'sc_year');
function sc_year(){
return date('Y');
}
Затем крюк в фильтр для the_title()
, чтобы запустить свой шорткод:
add_filter('the_title', 'my_shortcode_title');
function my_shortcode_title($title){
return do_shortcode($title);
}
Это касается заголовка «Почта/страница», но вы также захотите запустить его для крюка single_post_title
, который используется в wp_head
на теге заголовка на вашем сайте. Таким образом, браузер покажет правильное название, а также:
add_filter('single_post_title', 'my_shortcode_title');
Примечание: Вам не нужно отдельной функции здесь, потому что он работает один и тот же код. Таким образом, ваш общий код будет выглядеть примерно так:
add_shortcode('year', 'sc_year');
function sc_year(){
return date('Y');
}
add_filter('single_post_title', 'my_shortcode_title');
add_filter('the_title', 'my_shortcode_title');
function my_shortcode_title($title){
return do_shortcode($title);
}
Thx для вашего ответа! Дело в том, что это добавит год к каждому заголовку, но я хочу использовать его только спорадически ... – mrquad
Вам нужно добавить настраиваемое поле (add_meta_boxes или вручную) и проверить его отображение года. – Benoti
Я отредактировал свой ответ. – Benoti