wordpress
2012-04-06 9 views 0 likes 
0

WordPressのget_archive_links機能によって出力される投稿アーカイブリンクにクラスを適用する必要があります。私はこれを達成するために、私は私のテーマののfunctions.phpにフィルタのいくつかの並べ替えを追加する必要があります確信しているコアのWordPressファイルではなく、これをテーマのfunctions.phpファイルにどのように適用できますか?

$link_html = "\t<li>$before<a class='hello' href='$url' title='$title_text'>$text</a>$after</li>\n"; 

:これまで

$link_html = "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n"; 

:私はこのことから、/wp-includes/general-template.php (line 842)を変更することによって、これを達成することができますスマートな方法は、コアファイルを変更せずに、私はちょうど方法を知らない。どんな指導もすばらしいでしょう。

編集:ここでは一般的な-template.phpから全体、未修正の機能は次のとおりです。

function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') { 
$text = wptexturize($text); 
$title_text = esc_attr($text); 
$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; 

}

答えて

1

だから私は、これを行う方法をthis pageへの感謝を考え出しました。

だけfunctions.phpでこれを投げる:あなたが好きな場所に新しい関数を呼び出すその後

// Filter to add nofollow attribute 
function nofollow_archives($link_html) { 
return str_replace('<a href=', '<a rel="nofollow" href=', $link_html); 
} 

<?php add_filter('get_archives_link', 'nofollow_archives'); ?> 
<?php wp_get_archives('type=monthly'); ?> 

を例は明らかにnofollowをのRELタグを追加する方法を示しているが、あなたそれを簡単に変更してリンククラスやその他のものを追加することができます。

0

どのようにこのようなものでしょうか?

function new_get_archives_link ($link_html) { 
    if ('html' == $format) { 
     $link_html = "\t<li>$before<a class='hello' href='$url' title='$title_text'>$text</a>$after</li>\n"; 
     } 
     return $link_html; 
    } 
add_filter("get_archives_link", "new_get_archives_link"); 

これをあなたのfunctions.phpにコピーしてください。コアファイルを編集する必要はありません。

テストされていない。..

+0

こんにちはマーティ、答えてくれてありがとう。それはうまくいくはずですが、残念ながらそれはしません。 – rocky

関連する問題