今日は、「【WP】取得したURLから、str_replaceでいらない記述を消す方法」をご紹介します。
こんにちは。Webコーダーのはるです。
今日は、get_permalink();で記事のURLを取得して、そこからいらない記述を除いたものをURLとして出力する方法について書きます。
【WP】取得したURLから、str_replaceでいらない記述を消す方法
ちなみに、今回実装したのはこのようなシチュエーションでした。
今開いている英語版の記事URLから /en を除いて、日本語版のURLを出力したい
早速、コードを貼ります。
<a href=
"<?php
$permalink = get_permalink(); //記事のURLを取得
$data = str_replace("en/", "" , $permalink); //いらない記述を削除
echo $data; //編集したURLを出力する
?>"
>JP</a>
少し説明を書きます。
$permalink = get_permalink();
・$permalinkという変数(任意)に、get_permalink();関数を入れて、記事のURLを取得します。
get_permalink()はループの外で使用することができ、パーマリンク自体を出力はしないものです。
現在の記事のURLを返したいときは、
<?php echo get_permalink(); ?>
のように使用します。
・$dataという変数(任意)に、str_replace()関数を入れて、文字の置換指示をします。
str_replace関数
str_replace (検索文字, 置換後の文字列, オリジナルの文字列)
・・・オリジナルの文字列から「検索文字」を検索、それを「置換後の文字列」に置換する
str_replace (検索文字, 置換後の文字列, オリジナルの文字列)
・・・オリジナルの文字列から「検索文字」を検索、それを「置換後の文字列」に置換する
今回のコードでは、str_replace(“en/” , “” ,$permalink)と記述しました。
$permalink(=現在のURL)から「en/」を検索して「」と置き換える
とすることで、いらない記述を消すことができます。
・最後に編集したURLを echo $data;で出力します。
あとがき
str_replaceをきちんと使用したのは初めてですが、VSCodeの置換のように感覚的に使えて便利でした。
今日は短いですが、以上です。
*もりけん塾に所属しています。
Thanks:師匠「もりけんさん」(@terrace_tec)
もりけんさんのHPはこちら