Programing

WordPressショートコード作成方法 投稿や固定ページ内でPHPプログラムを実行する方法

WordPressショートコード自作

【PR】クリエイター募集
スマホ写真でお小遣い

無料写真素材なら【写真AC】

WebAPIを利用して情報を取得し、ページを作成したり、記事に埋め込んでみたりしています

PHPで、WebAPIを呼び出して情報取得するわけですが、WordPressの投稿ページや固定ページの中に、取得した情報を埋め込むようにしようと思います

ショートコードを利用しますので、そのショートコードの作り方を書いておきます

WordPressでのショートコードの作り方

WebAPIを使ってみようという内容の記事はこちらですので、参考にしてください

WebAPIプログラミング
WebAPIを簡単なPHPプログラムで使ってみようWebAPIの使い方 簡単PHPプログラミングで使ってみよう 簡単 お試し WebAPIとPHPプログラミング...

ショートコードを自作して記事内でPHPを実行する方法

はじめはPHPでWebページを作成するようにして、WebAPIを使う試作プログラムを作ったのですが、WordPressの個別ページや投稿ページに組み込む方法を調べました

ショートコードを使うと、投稿ページや固定ページを編集するときにショートコードをページ内に書いておくことでページから呼び出してプログラムを実行できるようにできます

まずは、function.phpにPHPの関数を追加して、ショートコードで呼び出す方法を試してみました

WordPressのテーマで利用する関数群がテーマのフォルダにあるfunction.phpに記述されているわけですが、そのfunction.php内に追加でオリジナルのPHPの関数を記述することで、自分で作成したオリジナル関数を呼び出すことができます

WordPress 自作のショートコード追加の記述方法

 

function.phpに、jisaku_shortcode()というショートコードで呼び出す関数(function)を追加作成しておいて、add_shortcode()で、[jisaku]というショートコードでjisaku_shortcode()関数を呼び出すという関係を定義しておきます

これで、ページに[jisaku]とショートコードを記述しておくと、jisaku_shortcode()が実行されます

WordPress 自作のショートコードで関数を呼ぶ方法

自作PHPプログラムをショートコードで呼び出す

さらに、オリジナルのphpを作って、ワードプレスの使用中のテーマのフォルダにそのオリジナルphpをアップロードしておいて、functions.phpに下記のように記述してやると記事内にショートコードで [my_original_php file=’phpファイル名’]と書くことで、phpファイル名に書いたphpが実行されるようにできます

上記の方法で、ワードプレスの記事内から、phpを呼び出すようにすると、WordPressで、phpを埋め込んだ記事ページを作成することができます

これで、固定ページや投稿ページの記事内にPHPで作成する記事を挿入することができます

include(get_theme_root() . ‘/’ . get_template() . “/$file.php”);

と書いてありますが、オリジナルphpをアップロードする場所は、使用するテーマのインストール場所になります

WordPressのインストールフォルダ/wp-content/themes/テーマ名

です

ページ内に[original_php file=’自作phpファイル名’]と記述すると、ここに上げた自作のオリジナルphpを実行することができます

テーマを変えると場所が変わるので、この方法はちょっとメンテナンスがめんどうなので、あとでプラグイン化して対応するようにしていきます

ショートコードでパラメータをPHPに引き渡す方法

さらに、ショートコードで組み込んだ自作PHPプログラムにパラメータを引き渡す方法です

これもわりと簡単な記述で可能です

記事投稿のページ内で、WebAPIからの取得データを表示するphpをショートコードを埋め込んで実行し、取得結果を表示するようなときに、WebAPIに渡す検索クエリーなどのデータを自作PHP内の関数に引き渡します

引き渡し方法は、記事のURLの後ろにパラメータをくっつける方法や、記事タイトルを検索クエリーにする方法などで記事の外から渡す方法もあるのですが、ショートコード内にパラメータを記述することで、自作のオリジナルphpに引き渡し関数内で利用することができます

検索クエリーなどの引数となるパラメータを記事内に記述することができます

ショートコードを定義するコードを上述しましたが、パラメータの記述を付け加えます

下記のようにshort_php()の関数の中にパラメータを記述し、初期値を入れておきます

 

この例では、queryとsortというパラメータを設定しました

そして、ショートコードでは

[my_original_php file=’phpファイル名’ query=’温泉’ sort=0]

というように記述します

ショートコードにパラメータの値を記述することで、phpに検索クエリーquery(温泉)とソート順sort(0)を投稿記事内から自作のphp内の関数に引き渡しています

これで、パラメータを渡された’phpファイル名’ の関数の中で、パラメータを利用した処理を行った結果を記事を埋め込むことができます

WordPress ショートコード作成方法 実施例

ショートコードを使った埋め込みの実例です

固定ページや投稿ページの記事内に記述してあるのはショートコードですが、WebAPIを使って取得した結果を表示しています

この例の場合、ショートコードに入れてあるパラメータは検索クエリーです

アイテム検索(自作サイトです)

WordPress ショートコード プラグイン化

ただし、こちらのサイトは固定ページにショートコードを記述して実行しているのですが、上記の関数実装方法とは異なっています

ショートコードから呼び出す関数はWordPressのプラグインにしています

WordPressのショートコードのプラグイン化のお試し版については、また別途書きます

WordPress・PHP対応 レンタルサーバー

WordPressとWebAPIをPHPで動作させる際に使うサーバーについてです

WordPressも使いたい、PHPでWebプログラミングもするなら、プログラミングのテストサイトを作ったり、試作プログラムを動かすWebサイトには、安くて使いやすいのでロリポップ!のライトプランを利用することが多いです

WordPressレンタルサーバー比較
WordPressレンタルサーバー比較 プログラミングにも適したサーバーは?WordPressレンタルサーバー比較 プログラミングにも適したサーバーは? WordPress・PHP対応に適したレンタルサーバー比較...