[Помогите] Заголовки записей

Тема в разделе "Wordpress", создана пользователем lite46, 31 окт 2015.

Модераторы: DzSoft, Sorcus
  1. lite46

    lite46 Постоялец

    Регистр.:
    22 ноя 2011
    Сообщения:
    56
    Симпатии:
    20
    Друзья, прошу помощи, ваших мыслей на этот счёт.
    Встретились мне вот такие заголовки на сайте Горбунова (студия, сайт самопис)


    [​IMG]

    Рабовема — админка Веборамы (Ссылка дефис описание)
    Презентация «Бизнес-рилейшенса» (Описание и ссылка, заключённая в кавычки ёлочки)
    Виджеты телефона Самсунг Ай-900 (Описание и ссылка)
    P.S. ссылки не кликабельны. Оформил для понимания, где ссылка, как на скриншоте.

    В заголовке есть и ссылка и не кликабельный текст, кроме того, встречается такое, что ссылка помещается в кавычки, которые тоже не кликабельны. Как это сделать на Wordpress не представляю. В WP ведь по стандарту выводится заголовок статьи, целиком отображаясь ссылкой. Есть мысль, собрать уникальный заголовок для своего шаблона: название статьи + вывести описание, возможно, используя Произвольные поля. Возможно! Т.е. из админки создаем новую Запись, в ней Заголовок "Рабовема", который уже отображается, как ссылка (по умолчанию в WP). Далее к этой Записи мы вносим Произвольное поле "— админка Веборамы". В шаблоне делаем составной заголовок для вывода. Возможно, получим в итоге "Рабовема — админка Веборамы". Это в теории, т.к. я еще ни разу не выводил произвольные поля из записи отдельно в другие части сайта. Может быть это и решение для первого примера - Ссылка дефис описание. Но как быть с другими случаями, чтобы Описание размещалось впереди, чтобы Ссылка была в не кликабельных скобках, не знаю.

    Прошу совета, может решения, как это делается.
     
  2. 990seo

    990seo Создатель

    Регистр.:
    8 апр 2012
    Сообщения:
    34
    Симпатии:
    3
    имхо как раз таки через произвольные поля это все и сделать
    например, сделал поля "titletype", "titlebefore" и "titleafter"
    titletype - цифры, 1,2,3 и т.д.
    titlebefore и titleafter- дополнительный текст заголовка
    выводишь их в том месте, где формируется заголовок

    потом эту переменные вставляешь при формировании заголовка
    от $titletype делаешь условие if
    в зависимости от него - формат вывода заголовка

    в твоем случае - примерно как-то так
    наверняка будут нюансы, как подхватывать ID поста - в зависимости где будешь выводить
    я взял кусок кода из плагина PopularPosts

    <?php

    $titletype=get_post_custom_values('titletype');
    $titlebefore=get_post_custom_values('titlebefore');
    $titleafter=get_post_custom_values('titleafter');

    if ($titletype==1) {
    <div id="post-'.get_the_ID().'"><a href="'.get_permalink().'">'.get_the_title().'</a>' - .$titleafter.'</div>';
    }

    if ($titletype==2) {
    <div id="post-'.get_the_ID().'">'.$beforetitle.'<a href="'.get_permalink().'">'.'""'.get_the_title().'</a>'.'"'.'</div>';
    }

    if ($titletype==3) {
    <div id="post-'.get_the_ID().'">'.$beforetitle.'<a href="'.get_permalink().'">'.get_the_title().'</a>'.'</div>';
    }

    ?>
     
    lite46 нравится это.
  3. funnywheel

    funnywheel WordPress developer

    Регистр.:
    6 авг 2010
    Сообщения:
    245
    Симпатии:
    177
    вариант №1:
    создаете произвольное поле, например post_custom_title
    заполняете его в админке с учетом html-разметки, например так
    Код:
    Прекрасное животное - «<a href="/siniy-slon-archibald">синий слон Арчибальд</a>»
    


    вариант №2
    создаете поля с именем, допустим, post_description_prefix и post_description_postfix

    заполняете в админке в соответствии с тем, что нужно получить, ссылка, а потом описание или наоборот описание, а потом ссылка
    пример вывода:
    PHP:
    // Проверяем префикс, если не пустой - добавляем после него "пробел + дефис + пробел"
    if (get_post_meta('post_description_prefix') != '') {
        echo 
    get_post_meta('post_description_prefix' ' - ';
    }

    // Выводим ссылку на запись и анкор ссылки
    echo '&laquo <a href=" ' . echo get_the_permalink() . ' "/>' the_title() .  '</a>&raquo';

    // Проверяем постфикс
    if (get_post_meta('post_description_postfix') != '') {
        echo 
    ' - ' get_post_meta('post_description_postfix';
    }


    есть нюансы по поводу вывода произвольных полей в цикле и вне цикла (например по ID поста)
    тут есть хорошие русские доки с примерами


    UPD: пока отвлекся меня опередили, смысл один, смотрите, какая реализация Вам больше по душе
     
    lite46 нравится это.
  4. lite46

    lite46 Постоялец

    Регистр.:
    22 ноя 2011
    Сообщения:
    56
    Симпатии:
    20
    Спасибо большое! Удобно использовать первый вариант.

    Сделал Произвольное поле - custom_title
    В цикл вывода постов внёс:
    PHP:
    <?php echo get_post_meta($post->ID'custom_title'true); ?>
    [​IMG]