-
ID:ODsJr4 さんの質問

Wordpressのwp_list_pages()にて出力されるコード改変について質問です。
海外のフォーラム等をあさり、以下のコードをfunctions.phpに入力で、current_page_item以外のclassを削除、current_page_itemのclass名を変更までは出来ました。
------------------------------------------------------
// remove class & rename class
function my_css_attributes_filter($var) {
if(is_array($var)){
$varci = array_intersect($var, array(’current_page_item’));
$cmeni = array(’current_page_item’);
$selava = array(’active’);
$selavaend = array();
$selavaend = str_replace($cmeni, $selava, $varci);
}
else{
$selavaend = ’’;
}
return $selavaend;
}
add_filter(’page_css_class’, ’my_css_attributes_filter’, 100, 1);
// remove empty class
function strip_empty_classes($menu) {
$menu = preg_replace(’/ class=(["\’])(?!active).*?\1/’,’’,$menu);
return $menu;
}
add_filter (’wp_list_pages’,’strip_empty_classes’);
------------------------------------------------------
ここまではいいんですが、希望として<li>タグでなく直下の<a>タグに変更したclass名を出力したいのと、current_page_item以外にcurrent_page_parentのほうも残しつつ、class名を変更したいです。Wordpressのバージョンは4.0です。
ご教授よろしくお願い致します。

みんなの回答 2 件

ID:F1okwN さんの回答

いくらくれる?

ID:02lM6c

そういうサイトじゃねーだろ。勘違いすんな。

ID:F1okwN

簡単に物事を教わろうとするなよ乞食が。

ID:9KFlfI さんの回答

いちいち置換するよりは、URLとページ番号だけを正規表現で切り出し、それを好きなタグで囲んで出力してやる方が早い。get_calendar() をカスタマイズする時そうした。

ID:ODsJr4

周りくどいことせずに、1から作ったほうがいいってことですかねー。
jQueryなら同様のことを再現出来るんですが、phpはよくわからなくてお手上げです。

ID:9KFlfI

いや、1からじゃなく…。必要な値だけ引っ張り出せって事。そもそも jQuery でできるなら PHP でも十分やれる。文法や関数の違いなんて大したことない。がんがれ。

最終更新日:2014-11-19 (3,291 views)

関連するトピックス

ページ上部に戻る