Удаление заголовка из wp_list_categories () - PullRequest
7 голосов
/ 09 марта 2010

Я пытаюсь удалить / заменить атрибут заголовка в элементах категории, используемых WordPress. Я использую WordPress 2.9.1 со следующим кодом:

<div id="categories">
    <h3>Manufacturers</h3>
        <ul>
            <?php str_replace("title=\"View all posts filed under ","",wp_list_categories('use_desc_for_title=0&exclude=1,2,3,4,5&title_li=&hierarchical=1')); ?>
        </ul>
</div>

Из того, что я читал, этот метод использовался для работы с более старыми версиями (хотя я никогда не пробовал его). Я действительно не хочу взламывать внутренности WordPress или использовать взлом JavaScript для чего-то такого простого. Любая помощь приветствуется ...

Обновление ниже то, что создано из кода выше ...

<div id="categories">
<h3>Manufacturers</h3>
<ul>
<li class="cat-item cat-item-7"><a href="http://localhost/crosstrainers/?cat=7" title="View all posts filed under Featured">Featured</a>
</li>
</ul>
</div>

Ответы [ 5 ]

9 голосов
/ 09 марта 2010

Если вы не хотите использовать плагин, извлеките код из плагина Remove Title Attributes , вы можете увидеть основную функцию, используемую для удаления заголовков из категорий ..

откройте файл template / function.php и вставьте следующее ...

function wp_list_categories_remove_title_attributes($output) {
    $output = preg_replace('` title="(.+)"`', '', $output);
    return $output;
}
add_filter('wp_list_categories', 'wp_list_categories_remove_title_attributes');

это добавит новый фильтр, заменяющий функцию out of wp_list_categories, используемую WordPress, и заменит ее на функцию выше.

в вашем примере кода

<div id="categories">
  <h3>Manufacturers</h3>
    <ul>
      <?php wp_list_categories(); ?>
    </ul>
</div>

Будет выводить как

 <div id="categories">
      <h3>Manufacturers</h3>
        <ul>
          <li class="cat-item cat-item-7"><a href="http://localhost/crosstrainers/?cat=7">Featured</a></li>
        </ul>
    </div>

Было название = "", было полностью удалено .. :)

кредиты: Тим Холт и его плагин

4 голосов
/ 22 августа 2013

Это немного поздний ответ на старый пост, но есть гораздо более простой способ, который не требует плагинов или добавления к functions.php:

<?php wp_list_categories('title_li='); ?>

или, если используется с другими настройками для вывода:

<?php $args = array (
    'title_li'           => __( '' ),
    'hide_empty'         => 0,
    'show_count'         => 1,
    'use_desc_for_title' => 0,
    'child_of'           => 1
);
wp_list_categories( $args ); ?>
3 голосов
/ 09 марта 2010

Есть плагин для этого, может быть, это поможет хотя бы посмотреть на код плагина.

http://wordpress.org/extend/plugins/remove-title-attributes/

1 голос
/ 18 мая 2017

Это, вероятно, ваш лучший вариант для тех, кто хочет сделать это без работы functions.php

Просто добавьте это в свой шаблон.

                <ul class="nav">
                    <?php wp_list_categories( array(
                        'orderby' => 'name',
                        'taxonomy' => 'product_cat',
                        'depth' => 1,
                        'title_li' => '',
                        'hide_title_if_empty' => true,
                        'use_desc_for_title'  => 0,
                        'include' => array( 28, 27, 8, 29, 43, 31 )
                    ) ); ?>
                </ul>
0 голосов
/ 21 декабря 2011

По умолчанию wp_list_categories будет включать описание категории в атрибут заголовка, если таковой имеется, или «Просмотреть все сообщения, поданные в категория », если описание отсутствует.

Мне не нравится иметь там полное описание. Это то, что я использую в functions.php для настройки атрибута title:

function custom_categories_title($output) {
    $search = '/title=".+"(.*>)(.+)</i';
    $replace = "title=\"View all articles filed under $2\"$1$2<";
    return preg_replace($search, $replace, $output);
}
add_filter('wp_list_categories', 'custom_categories_title');

Если вы просто хотите полностью удалить атрибут title, вы можете использовать

    $search = '/ title=".+"/i';
    $replace = '';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...