[Ищу] Разный вывод инфы в зависимости от тега more

Тема в разделе "Wordpress", создана пользователем uNknownMark, 5 мар 2011.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Народ, подскажите может кто знает решение более правильное.
    Имеется небольшая функция для вывода панели кнопок под каждый постом, стоит фильтр на событие the_content.
    Нужно если есть тег more (Читать далее) то не выводить эту панель, если нет его и полный текст то выводить.
    В данный момент проверяю это дело так
    PHP:
    if (strpos($content,'more-link')!==false) return $content;
    Т.е если есть в содержимом текст more-link (это класс для ссылки Читать далее) то ничего не делаем, если нет его то показываем панельку.
    Может кто знает более изящный/правильный вариант. НЕ могу вспомнить не одну стандартную функцию для такого.


    Версия WP 2.9.2
     
  2. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    Может быть имеет смысл попробовать использовать предложенное в кодексе:
    http://codex.wordpress.org/Customizing_the_Read_More
    там внизу есть часть More about $more в которой есть возможность создания своего if по существованию:отсутствию more
     
  3. exn

    exn Постоялец

    Регистр.:
    22 янв 2010
    Сообщения:
    146
    Симпатии:
    23

    Я так понял речь об этом

    PHP:
      global $wp_query;
             
    $pages $wp_query->max_num_pages;
     
  4. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Это читал и не подходит. Так как там принудительно для первого сообщения в теме убирается тег more. Мне же нужно обратывать его наличие/отсутсвие

    если я не ошибаюсь это из другой оперы )
     
  5. Conwell

    Conwell

    Регистр.:
    23 мар 2009
    Сообщения:
    337
    Симпатии:
    177
    Может имеет смысл проверять на наличие the_excerpt()?
    PHP:
    <?php
        $my_excerpt 
    get_the_excerpt();
         if(
    $my_excerpt !='') {
             
    the_excerpt();
             echo 
    'some table';
             echo 
    'тэг_далее'
         
    }else {
             
    the_content();
         }
    ?>
    или вообще сделать фильтр на excerpt_more:
    PHP:
    function new_excerpt_more($more) {
           global 
    $post;
        return 
    '<a href="'get_permalink($post->ID) . '">Read the Rest...</a></br>some table';
    }
    add_filter('excerpt_more''new_excerpt_more');
     
Статус темы:
Закрыта.