%e3%80%90wordpress%e3%80%91%e3%82%b7%e3%83%a7%e3%83%bc%e3%83%88%e3%82%b3%e3%83%bc%e3%83%89

【wordpress】ショートコード

ドメイン変更やテスト環境で制作しないといけない場合に、後でパスを変更するのはけっこう面倒です。

使うシーンは限られると思いますが、けっこう便利で多用しているので、あてはまる方はお試しください。

ショートコードって何?

固定ページや投稿記事内でのphpの使用はできないため、wordpressには「ショートコード」というあらかじめ設定されたphpコードを呼び出すことができます。
ページや記事内でPHPが記述できればよいのですが、セキュリティ上の問題等で記述できなくなっています。
企業等のサイトでwordpressをCMSとして使用する際には、phpを記述したいと思うこともあります。
そんな時に他のPHPファイルに記述したPHPコードを短いコードで呼び出すことができるというのが、ショートコードです。

テーマフォルダーへのurlをショートコードに(functions.php)

// ショートコード作成(固定ページ・投稿記事内でテーマ内の「image」フォルダーへの相対パスを書き出す)
function imgpass_shortcode() {
  return get_stylesheet_directory_uri();
}
add_shortcode('ipass', 'imgpass_shortcode');

「get_stylesheet_directory_uri()」で取得できるテーマへのパスをショートコードにしただけのものです。
例えば、テーマフォルダ内の画像等を固定ページや投稿で使用する際に便利です。

https://www.goodcircle.jp/wp-content/themes/cocoon-child-master

ページや記事にこのコードをいれるだけです。

メディアへのurlをショートコードに(functions.php)

// ショートコード作成(固定ページ・投稿記事内でメディアライブラリ内のデータを相対パスで書き出す)
function mediapass_shortcode() {
  return content_url();
}
add_shortcode('mpass', 'mediapass_shortcode');

メディアへのパスをショートコードにしただけのものです。
最初のコードと一緒なんですが、こちらはドメインが変わるような場合に便利です。移行予定があるとか、テスト環境で制作するとか。

https://www.goodcircle.jp/wp-content

ページや記事にこのコードをいれるだけです。

カスタムフィールドの値をショートコードに(functions.php)

// ショートコード作成(カスタムフィールドの画像を表示)
function custompass_shortcode() {
$photo = wp_get_attachment_image_src(get_post_meta($post->ID,カスタムフィールドの名前,true),'full');
  return $photo;
}
add_shortcode('custom', 'custompass_shortcode');

カスタムフィールドの値をショートコードで固定ページや投稿記事内に出力できるようになります。
カスタムフィールドで設定している名前が日本語なら、日本語で記述してください。

[custom]

ページや記事にこのコードをいれるだけです。

こんな使い方は普通しないと思いますが、CPIのスマートリリースなんかを使う時にはかなり楽になります。