• Здравствуйте! Помогите вывести заголовок страницы в статье по id страницы.
    <span class="magazine">Магазин: <a href="">Вот здесь нужно вывести название страницы из поля magazine</a></span>

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если речь о стандартном заголовке, воспользуйтесь функцией get_the_title().

    Если нужно вывести значение произвольного поля — функцией get_post_meta().

    Спасибо! Теперь загвоздка в том что отображается ссылка на страницу а не его title 🙁 картинка

    а код приведите, который вы используете.

    <span class="magazine">Магазин: <strong><a href="<?php the_field('magazine');?>"><?php $my_div = the_field('magazine'); $post_id = get_post($my_div); $title = $post_id->post_title; ?></strong></a></span>

    echo get_post_meta(get_the_ID(),"magazine", true); через данный код отображается id страницы на которую идет ссылка.

    ну во-первых, если <strong> открывается перед <a href="">, то закрываться он должен после </a>, а не перед, как у вас.
    Во 2-х, а почему не подходит просто

    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></strong>

    ?
    Что-то как-то вы намудрили тут, или может я что-то не так понял

    Ситуация в следующем: Стоит плагин «Произвольные поля» создал новое поле magazine в этом поле указывается страница на сайте, далее нужно вывести в отдельном блоке (на скриншоте выше) в таком виде — Магазин: MediaMarkt и ссылка идет на страницу MediaMark.Сейчас получается только вывести ссылку на страницу а название которое бралось бы по id страницы на которую ссылаюсь не получается:(

    ну сразу бросается в глаза функция the_field. В справочнике я её почему-то не нашел, но судя по всему, она выводит значение поля, а не возвращает его. Когда вы пишите $my_div = the_field('magazine'); — вы как-раз выводите эту ссылку, а вам нужно её просто вернуть. Но если в поле ‘magazine’ указана ссылка, то чтоб вытянуть из неё id поста, на который она ведёт — вам нужно написать рег.выражение. Дальше уже это id использовать для получения самого поста, и уже из поста получать заголовок, который потом и нужно выводить.

    В общем это будет выглядеть приблизительно так:

    <?php
       $my_div = get_the_field('magazine'); // если the_field выводит ссылку, то get_the_field должна её возвращать, хотя ни той ни другой функции в справочнике не нашел
       $post_id = тут регулярное выражение, которое вытягивает из вышеполученной ссылки, id поста, заголовок которого надо получить
       $my_post=get_post($post_id); // получаем объект нашего поста
       $title = $my_post->post_title;  // получаем заголовок нашего поста
       echo $title; // выводим наш заголовок
    ?>

    Надеюсь, смысл понятен.

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Вывести title_post из бд по id Страницы» закрыта для новых ответов.