2011-02-15 3 views
3

Je suis toujours épinglé contre wordpress il semble. J'ai ajouté le widget « Archives » à ma barre latérale et une fois de plus, la sortie html est de la merde, il a essentiellement cette structure:Wordpress Archives Widget - Personnaliser la sortie html

<li><a href="somelink">text</a> - (# of posts)</li> 

Je veux la transformer en:

<li><a href="somelink">text <small># of posts</small></a> 

Contrairement aux plug-ins cependant, je n'ai pas pu trouver la ligne qui crée la sortie html dans les pages php suggérées/mentionnées par la communauté wordpress, à savoir functions.php, widgets.php et default-widgets.php

J'ai recherché toutes les combinaisons de mots clés possibles sur le sujet et je ne pouvais pas trouver quelque chose ng pertinent.

Toute aide est appréciée

Cordialement

G.Campos

Répondre

2

Découvrez-template.php général. Deux fonctions wp_get_archives et get_archives_link. Vous devrez pirater wp_get_archives pour changer ce qui est chargé dans $ text. Le compte de poste est chargé dans la variable $ after placée en dehors du lien dans get_archives_link. Au lieu de cela:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year); 
if ($show_post_count) 
    $after = '&nbsp;('.$arcresult->posts.')' . $afterafter; 

quelque chose comme ceci:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year); 
if ($show_post_count) 
    $text= $text.'&nbsp;<small>'.$arcresult->posts.'</small>'; 

C'est juste pour l'archive mensuelle. Vous devrez apporter des modifications aux blocs annuels, hebdomadaires et quotidiens.

Edit: moyen d'exclure Easiest l'élément <small> du titre du lien est de le charger dans une variable distincte dans chaque bloc, puis le transmettre dans un get_archives_link modifié. Dans l'exemple ci-dessus, juste après le texte $ se charge juste de charger cette valeur dans $ title:

$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year); 
$title = $text; 
if ($show_post_count) 
    $text= $text.'&nbsp;<small>'.$arcresult->posts.'</small>'; 
$output .= get_archives_link($url, $text, $format, $before, $after, $title); 

ensuite modifier get_archives_link:

function get_archives_link($url, $text, $format = 'html', $before = '', $after = '', $title = '') { 
    $text = wptexturize($text); 

    if($title == '') 
     $title = $text; 

    $title_text = esc_attr($title); 
    $url = esc_url($url); 

    if ('link' == $format) 
     $link_html = "\t<link rel='archives' title='$title_text' href='$url' />\n"; 
    elseif ('option' == $format) 
     $link_html = "\t<option value='$url'>$before $text $after</option>\n"; 
    elseif ('html' == $format) 
     $link_html = "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n"; 
    else // custom 
     $link_html = "\t$before<a href='$url' title='$title_text'>$text</a>$after\n"; 

    $link_html = apply_filters("get_archives_link", $link_html); 

    return $link_html; 
} 
+0

Je suppose que vous n'avez pas lu ceci, oh bien = ( – Sotkra

+0

Seul le problème "énorme" est le piratage de la partie principale: vous perdriez toutes les modifications lors d'une mise à jour. Je sais que c'est un vieux post mais si je trouve quelque chose je le mettrai ici. –

Questions connexes