Как вставить ссылку в заголовок поста

👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

Некоторые движки умеют вставлять ссылку в заголовок поста. Например, часто на Хабрахабре мелькают статьи, указывающие своим заголовком на другие сайты и страницы. Можно ли сделать подобное в WordPress? Можно, но для этого нужно будет провести небольшую работу над используемой вами темой.

Реализовать вставку ссылки в заголовок поста можно с помощью произвольных полей. В посте создайте произвольное поле Post_Title, и вставьте в него код HTML-ссылки:

<a href="https://n-wp.ru/">n-wp.ru - блог о WordPress для новичков</a>

Ничего сложного, не правда ли? А вот теперь самое главное — нужно, чтобы содержимое этого произвольного поля подставлялось в блоге вместо названия поста. Для этого открывает файлы с темой, которую вы используете, и находим те места, где выводится заголовок поста. Обычно это делается с помощью стандартной функции the_title. Например, вот так:

<h2></h2>

Вот именно эту строчку нужно поменять на вот такой код:

ID, 'Post-Title', true);
if ($post_title) {
?>
<h2></h2>

<h2></h2>

Этот код проверяет, заполнено ли произвольное поле Post_Title. Если да, то в качестве заголовка используется содержимое этого произвольного поля. А если нет, то в качестве заголовка используется стандартное название поста.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Yuliya

    Спасибо. полезно.

    Ответить
  2. dimastrahov

    Здравствуйте, Tiaurus!
    У меня в блоге http://dimastrahov.com/blog не отображаются заголовки постов. Так было с самого начала в теме. Не могли бы вы подсказать, что подправить, чтобы заголовки отображались и при нажатии на них можно было бы открыть сам пост, как это и должно быть?
    Заранее спасибо!

    Ответить
    1. Вы используете платную тему Photocrati Emulsion, которая стоит $59. Я не могу скачать ее, чтобы посмотреть, что нужно вам изменить. Но могу предположить, что в файле index.php в цикле вывода записей нет вызова заголовка поста. Чтобы он появился, нужно добавить после строчки

      while (have_posts()) : the_post()

      примерно такой код:
      <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_title(); ?></a>
      Точнее можно будет сказать, если увижу файлы темы вашего блога.

      Ответить
    2. Попробуйте вставить строчку
      <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_title(); ?></a>
      сразу перез строчкой

      <?php the_content(__('(Далее...)')); ?>
      Ответить
      1. dimastrahov

        Теперь:

        Parse error: syntax error, unexpected ‘?’ in /home/dimast/public_html/wp-content/themes/photocrati-emulsion/index.php on line 8

        Ответить
        1. Конечно. rel=»nofollow» из кода убрать нужно:
          <a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_title(); ?></a>

          Ответить
          1. dimastrahov

            Работает!!! Отлично!!! Огромное спасибо!!!

            Ответить
            1. Пожалуйста. Вы можете добавить оформление к этой ссылке. Например:

              <h2> указанный код </h2>

              или так:
              <a style="font-size:1.2em; font-weight:bold;" title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_title(); ?></a>

              Ответить
              1. dimastrahov

                я уже так и сделал!

                Ответить