Baddim
@Baddim
Любой Путь верный, что ведёт к Добру и Свету

Вывести определенный параграф the_content по его css?

Нужно вывести на странице категорий только часть the_content с определенным css-классом. Через хук, но как именно, знаний не хватает:
add_filter('the_content', 'the_sub');
function the_sub( ... ){
return $text;
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
Должно работать
add_filter('the_content', 'the_sub');
function the_sub($text) {
    if (is_category()) {
        $element_class = 'ваш-css-класс';
        $dom = new DOMDocument();
        libxml_use_internal_errors(true);
        $dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
        libxml_clear_errors();
        $xpath = new DOMXPath($dom);
        $elements = $xpath->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $element_class ')]");
        $new_content = '';
        foreach ($elements as $element) {
            $new_content .= $dom->saveHTML($element);
        }
        return $new_content;
    }
    
    return $text;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@EvgenyMorozov
Я бы выбирал из двух вариантов:
1. Вместо the_content() использовать the_excerpt()
2. Если лень заполнять excerpt, можно с помощью CSS скрывать все ненужное.
Ответ написан
@pantsarny
А причем тут пхп?
Через css скрываете все ненужное, и отображаете только нужное
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы