Как сделать пуговицу?


Существует много информации о том, как заставить функцию "Подробнее" отображать другой текст в Кодексе, но какой фильтр необходимо использовать для его отображения <button class="readmorebtn" onclick(permalink)>Read More</button>?

Author: m-torin, 2010-10-07

2 answers

Ссылка "(подробнее...)" фильтруется через the_content_more_link в get_the_content(). Вы можете подключиться к этой функции и позволить ей возвращать все, что вы хотите.

add_filter('the_content_more_link', 'more_button');
function more_button($more_link) {
    return '<button class="readmorebtn" onclick="' .
        esc_attr('window.location="' . get_permalink() . '"') .
        '">Read more</button>';
}
 4
Author: Jan Fabry, 2010-10-07 13:01:37

Короткий ответ: Вы этого не делаете.

Более длинный, более полезный ответ: Что вам нужно сделать, это подключиться к фильтру the_content_more_link и превратить простую ссылку в элемент, способный создавать стиль, который выглядит как кнопка. Тема, которую я использую на своем сайте, уже делает это. Это превращает мою ссылку для чтения в:

<div class="readon-wrap1">
    <div class="readon1-l png"></div>
    <a href="http://mindsharestrategy.com/why-i-run/" class="readon-main">
        <span class="readon1-m png">
            <span class="readon1-r png">More</span>
        </span>
    </a>
</div>

Вы можете увидеть обычную ссылку для чтения, расположенную посередине. Различные <div>s и <span>s вокруг него помогают оформить ссылку так, чтобы она выглядела как сплошная серая кнопка:

Read More button

Итак, если вы хотите, чтобы ваша ссылка выглядела как кнопка, это путь, который нужно выбрать. Как @sorich87 указано в комментариях, тег <button> предназначен для использования внутри форм. Поэтому, если вы используете тег <button> для ссылки "Подробнее", вы столкнетесь со следующими проблемами:

  1. Ваш сайт не будет подтверждать
  2. Макет вашего сайта может сбить с толку программы чтения с экрана и некоторые механизмы синтаксического анализа (так как они увидят <button> и либо удалят ссылка или ошибка при поиске остальной части формы).
  3. Вы можете столкнуться с конфликтами, если когда-либо случайно вложите тег <!--more--> в тело формы. Вы можете сказать "Я не буду этого делать" сейчас, но несчастные случаи есть несчастные случаи, и это все еще может произойти... тогда возникнут странности и хаос.
 5
Author: EAMann, 2010-10-07 14:54:57