[登録]リンクをボタンタイプのリンクへwordpressをカスタマイズ

wordpressの登録(register)リンクをregister filterでフックする

リンクをボタン化するHTML

wordpress標準の状態では、登録リンクは通常のリンクテキストで表示されている。

リンクをボタン化するために以下のようなHTMLが出力されるようにwordpressブログをカスタマイズする必要がある。

<a href="#"><button>登録</button></a>

登録リンクのHTML出力部分は、register filter hookでカスタマイズすることができ、リンクについてwp_register()関数で出力できるようになっている。

register filter hook

フィルターフックの設定は以下のように行い。

add_filter('register', array($this, 'new_register') );

new_register関数は以下のようにしてみた。

function new_register( $link )
{
	$link = str_replace("\">", "\"><button>", $link);
	$link = str_replace("</a>", "</button></a>", $link);

	return $link;
}

aタグの内側にbuttonタグを入れる処理をフック内で行っている。

リンクボタンを呼び出しは以下のように設定してみた。

wp_register($before = '', $after = '', $echo = true);

通常は、

wp_register()

といった感じで引数なしで呼び出しているが、デフォルトで設定される引数があり、そのデフォルトの状態は以下のようになっている。

wp_register($before = '<li>', $after = '</li>', $echo = true);

そのため、標準設定では、登録リンクがliで囲まれる仕様になっている。今回はliで括られた状態ではなく、フィルターから出力されたHTMLをそのまま表示するように上のように引数を消す処理をしてある。また、echo引数は、phpのechoのことを指しており、この値をfalseにするとリンクが出力されなくなる。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

[登録]リンクをボタンタイプのリンクへwordpressをカスタマイズの記事にコメントを投稿

カスタマイズ