WordPress как на ладони

Вывод тайтла в ссылках виджета

Доброго времени суток!
Столкнулся с необходимостью немного кастомизировать вывод ссылок в виджете.

Есть код

# Get genres
function doo_li_genres(){
	$transient = get_transient('dooplay_genres_widget');
	if(false === $transient){
		$args = array(
			'post_type'    => '',
			'taxonomy'     => 'genres',
			'orderby'      => 'DESC',
			'show_count'   => 1,
			'hide_empty'   => false,
			'pad_counts'   => 0,
			'hierarchical' => 1,
			'exclude'      => '55',
			'title_li'     => '',
			'echo'         => 0
		);
		$links = wp_list_categories($args);
		$links = str_replace('</a> (', '</a> <i>', $links);
		$transient = str_replace(')', '</i>', $links);
		set_transient('dooplay_genres_widget', $transient, MINUTE_IN_SECONDS*5);
	}
	echo $transient;
}

Как в него возможно добавить тайтлы в ссылки на категории + кастомный текст?

Т.е. категория выводится ссылкой "Боевики". Тайтла нету. Я хочу добавить тайтл "Смотреть онлайн Боевики"
Сам кусок "Смотреть онлайн" будет для всех категорий одинаковый.

Буду благодарен за помощь.
Спасибо!

Заметки к вопросу:
stepan месяц назад

задачу решили?

0
Роман
месяц назад
  • 0

    @stepan Нет, к сожалению не решил.
    На других ресурсах подсказали 2 кода, но они не сработали

    # Get genres
    function doo_li_genres(){
    	$transient = get_transient('dooplay_genres_widget');
    	if(false === $transient){
    		$args = array(
    			'post_type'    => '',
    			'taxonomy'     => 'genres',
    			'orderby'      => 'DESC',
    			'show_count'   => 1,
    			'hide_empty'   => false,
    			'pad_counts'   => 0,
    			'hierarchical' => 1,
    			'exclude'      => '55',
    			'title_li'     => '',
    			'echo'         => 0
    		);
    		$categories = get_categories($args);
    		$transient = '';
    		foreach( $categories as $category ) {
    			$transient .= '<a href="'.get_category_link( $category->term_id ).'" title="Смотреть онлайн '.$category->name.'">'.$category->name.'</a> <i>'.$category->count.'</i>');
    			);
    		}
    		set_transient('dooplay_genres_widget', $transient, MINUTE_IN_SECONDS*5);
    	}
    	echo $transient;
    } 

    и 2-ой

    $links = str_replace('<a>', '<a title=Ваш тайтл', $links );

    1-й код вообще ломает сайт

    ParseError thrown
    syntax error, unexpected ')

    stepan месяц назад
    $transient  = '';
    foreach ( $categories as $category ) {
    	$transient .= '<a href="' . get_category_link( $category->term_id ) . '" title="Смотреть онлайн ' . $category->name . '">' . $category->name . '</a> <i>' . $category->count . '</i>';
    }
    echo $transient;

    Вот исправл участок код с первого решения.
    Если первое решение и есть ответ на ваш вопрос - тогда пользуйтесь.
    Потому что я до конца не понял вашего вопроса.
    реально ли он был такой легкий.

    Роман месяц назад

    Да, это то, что нужно.
    Тайтлы появились как надо. Но, из первоначального кода пропали все стили, за которые отвечает код

    $links = str_replace('</a> (', '</a> <i>', $links);
    $transient = str_replace(')', '</i>', $links);

    Т.е. сейчас все ссылки просто в одну строку.

    Как бы теперь в итоговый код добавить строки отвечающие за стили ( В php я к сожалению не силен (

    # Get genres
    function doo_li_genres(){
    	$transient = get_transient('dooplay_genres_widget');
    	if(false === $transient){
    		$args = array(
    			'post_type'    => '',
    			'taxonomy'     => 'genres',
    			'orderby'      => 'DESC',
    			'show_count'   => 1,
    			'hide_empty'   => false,
    			'pad_counts'   => 0,
    			'hierarchical' => 1,
    			'exclude'      => '55',
    			'title_li'     => '',
    			'echo'         => 0
    		);
    		$categories = get_categories($args);
    		$transient  = '';
    foreach ( $categories as $category ) {
    	$transient .= '<a href="' . get_category_link( $category->term_id ) . '" title="Смотреть онлайн ' . $category->name . '">' . $category->name . '</a> <i>' . $category->count . '</i>';
    }
    		set_transient('dooplay_genres_widget', $transient, MINUTE_IN_SECONDS*5);
    	}
    	echo $transient;
    } 
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация