NTTドコモ様_dカーシェア
NTTドコモ様_dカーシェア
2012.10.24

WPのプラグイン、WP-PageNaviのちょっと役にたつ情報。

小林

こんにちは、小林です。

私はストリートファイター4ではバルログというキャラを使っているわけですが

今回はwordpressのプラグイン、WP-PageNaviについて書きます。

WP-PageNavi とは?

WordPressでページネーションの実装を強力にサポートしてくれる素晴らしいプラグインで、下記のURLからダウンロードできます。

その影響たるや、大正義。

これがあると無いとでは、バルログが爪を装備しているかいないかくらいの違い(パンチ系攻撃のリーチが短くなり、ダメージが減り、判定も弱化)があります。

基本的な使い方については、他所様のブログなどで語り尽くされておりますので

今回は少しイレギュラーなお話をしたいと思います。

例えばこんなケース

・WP-PageNaviが出力するHTMLとデザインされたHTMLの構成が異なっていた場合

・レスポンシブデザインに対応するためにクラス名が異なるページネーションを配置したい場合

WP-PageNaviに便利なフィルターフックがありました。

core.phpの174行目から176行目に記述があります。

$out = $before . "<div class='wp-pagenavi'>n$outn</div>" . $after;

	$out = apply_filters( 'wp_pagenavi', $out );

 

functions.phpで以下を記述しましょう。

if ( function_exists( 'wp_pagenavi' ) ) {
	function my_wp_pagenavi( $output ) {

		// $output を編集可能です。
		// 例えば、
		$output = str_replce( "wp-pagenavi", "my-pagination", $output );

		return $output;
	}
	add_filter( 'wp_pagenavi', 'my_wp_pagenavi' );
}

『my-pagination』の部分にグローバル変数を利用することによって、wp_pagenavi関数を呼び出し時にクラス名を設定できますね。

これでWP-PageNaviが出力するHTMLをわずかながらコントロールすることができますね。

※WP-PageNaviのバージョンは2.83です。