WordPressで現在表示のURLをパラメータを除いて取得する方法
作成日:
2018年12月19日
WordPressで投稿、ホーム、アーカイブを問わず、現在のURLを取得するには、
PHP
$current_url = ( empty( $_SERVER['HTTPS'] ) ? 'http://' : 'https://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
があるのですが、何だかシンプルじゃ無いなと。
そこでWordPressの関数を用いた方法は無いかなと探してみましたところ、
PHP
global $wp;
$current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
とすればURLを取得出来るようです。
ただし、このURLにはページ独自のパラメータも付随します。
例えばパーマリンクの設定を
Shell
/%year%/%monthnum%/%postname%/
としていると、取得されるURLは
Shell
https://hogehoge.com/2018/12/post-title?year=2018&monthnum=12&name=post-title
のようになります。
ですので、URLパラメータを除いて取得する場合は、
PHP
global $wp;
$current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
$current_url = strtok( $current_url, '?' );
とすれば、
Shell
https://hogehoge.com/2018/12/post-title
となります。
あ、でもこの方法だと、検索結果ページの取得URLが「?s=検索ワード」パラメータが除かれるのでホームURLになってしまうな。
もう少し改善が必要ぽい。
Get the Current URL in WordPress | WP-Mix
https://wp-mix.com/get-current-url-wordpress/
WordPressで現在のURLを取得する
物草 灸太郎
WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。
関連投稿
コメントをどうぞ
- メールアドレスが公開されることはありません。
- コメント欄にURLは入力できません。
- このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。
コメント
2018年12月19日 12:48 PM