カテゴリー
WordPress

メニューのカレント表示

間違いあるかも。自分用メモなので取り扱い注意。

WordPressなら下記。sampleならcurrentをechoする。CSSのclassに入れればOK。

<?php if ( is_page('sample') ) { echo ' current'; } ?>

PHPなら下記なの?関数作る。あまりうまくないやり方っぽい。

/*メニューのカレント表示*/
function is_current( $uri = "" ) {
	$uri = trim( $uri, "/" );
	$request_uri = $_SERVER['REQUEST_URI'];
 
	if( $uri && strpos($request_uri."/", "/".$uri."/", 0) !== FALSE ) {
		return true;
	}
	$request_uri = trim(str_replace( "/index.php", "", $request_uri ), '/');
	if( !$uri && !$request_uri ) {
		return true;
	}
	return false;
}
 
function echo_current( $uri = "" ) {
	if(is_current( $uri )) {
		echo 'current';
	};
}

表示させたいところに下記。/sample/ならcurrent表示。

<?php echo_current("sample");?

echoする時は、エスケープすること。下は例。

echo esc_html( $str );

コメントを残す

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