Повторить подзаголовок РОДИТЕЛЬСКОЙ страницы в WordPress?

Я пытаюсь получить субтитры со страницы PARENT и повторить текст в теге заголовка.

Функция:

<?php
    $id_to_get = $post->ID;
    if ( $post->post_parent ) {
        $id_to_get = $post->post_parent;
    }
    $parent = $id_to_get;

    $title = get_the_title($parent);
    $subtitle = get_post_meta($id_to_get, '_base_page_subtitle', true);
?>

Реализация HTML: ...title="‹?php echo $subtitle; ?›">

К сожалению, он не может успешно захватить текст субтитров. Я могу заполнить заголовок, повторяя переменную $title, но не переменную $subtitle.

Значение параметра «Подзаголовок» хранится в таблице «_base_page_subtitle»; Я использую фреймворк опций.

Я знаю, что моя проблема связана с оператором if, однако, поскольку я новичок в PHP, мне немного сложно понять, как собирать данные и правильно отображать их.

Еще раз спасибо!


person Joey    schedule 06.08.2013    source источник
comment
Есть ли у $post свойство $post_child? Я думаю, вы можете просто проверить, если $post->post_parent, а затем установить его на $post->post_parent. Если у поста нет родителя, я считаю, что он равен нулю.   -  person kalley    schedule 07.08.2013
comment
Использование post_parent, к сожалению, по-прежнему не заполняет его текстом субтитров...   -  person Joey    schedule 07.08.2013
comment
Правильно ли устанавливается $id_to_get, если вы повторяете его?   -  person kalley    schedule 07.08.2013
comment
В этом случае он будет правильно отображать 67 в теге заголовка. Кроме того, я обновил исходный фрагмент кода, чтобы использовать post_parent вместо post_child. Я забыл обновить это перед тем, как отправить сообщение, так как я все еще устранял неполадки.   -  person Joey    schedule 07.08.2013


Ответы (1)


вы можете сделать это без функции - просто повторите это прямо

title="<?php if ( $post->post_parent ) { echo get_post_meta($post->post_parent, '_base_page_subtitle', true);}else{echo get_post_meta($post->ID, '_base_page_subtitle', true);}?>"
person Mark    schedule 06.08.2013
comment
Марк, это отлично работает для дочерних страниц, однако больше не отображает заголовок на фактической родительской странице. Это также помещает заголовок/подзаголовок страницы в тег title. - person Joey; 07.08.2013
comment
Мне нужно, чтобы подзаголовок отображался как тег заголовка на родительской странице и на всех дочерних страницах этого родителя. - person Joey; 07.08.2013
comment
так что вы хотите, чтобы только подзаголовок в теге заголовка как для родителя, так и для ребенка? - person Mark; 07.08.2013
comment
Это правильно Марк. Я пытался сделать это с помощью оператора if, но, к сожалению, это не сработало. - person Joey; 07.08.2013
comment
@JoeyO'Driscoll Я обновил свой ответ - person Mark; 07.08.2013
comment
Спасибо, Марк! Ты жжешь. Теперь мне придется обернуть его в переменную, чтобы упростить процесс. Есть ли какие-либо предложения о том, как лучше всего это сделать? - person Joey; 07.08.2013
comment
что ты имеешь в виду? как это упростит? - person Mark; 07.08.2013
comment
Повторение переменной — это система, которую использовал предыдущий разработчик, и он разместил все функции, связанные с переменными, в верхней части документа. Так что, теоретически, все техническое оборудование располагалось в верхней части документа .php, а все ссылки, существовавшие после функций, были отголосками. - person Joey; 07.08.2013
comment
попробуйте добавить его в функцию - person Mark; 07.08.2013
comment
Марк, вы можете проверить: stackoverflow.com/questions/18218051/ - person Joey; 13.08.2013