固定ページでphpを使いたい

ワードプレス

2019-08-10

固定ページ・投稿ページにphpを配置できる!

例えば、お知らせの新着一覧を固定ページ上で好きな位置に配置したいな、と考えたことはありませんか?
プラグインもあるけれど、あまりプラグインが増えてもメンテナンスとか不具合とか面倒だし。

そんなときにうれしい方法がありました!なんとfunctions.phpに下記のコードを記述すれば、ショートコードの追加でphpを呼び出すことができるんです。直接php言語が使えない固定ページや投稿ページを気軽に動的なページにすることが可能です。

functions.phpを編集するときは、WordPress上で編集せずに、FTPでアップした方が安心です。
記述ミスがあった場合、画面が真っ白になってしまうことがあります💦  自信のないときはすぐに修正できるようにローカルで編集してFTPでアップするのが絶対おすすめですよ。

functions.phpに追加

function Include_my_php($params = array()) {
    extract(shortcode_atts(array(
        'file' => 'default'
    ), $params));
    ob_start();
    include(get_theme_root() . '/' . get_template() . "/$file.php");
    return ob_get_clean();
}
 
add_shortcode('myphp', 'Include_my_php');
}

 

固定ページに追加

aaaaa.phpを読み込みたい場合、固定ページに下のショートコードをテキストエディターで配置します。

[myphp file=aaaaa]

aaaaa.phpはサーバーのthemesフォルダにアップしておきます。
(…/wp-content/themes/使用しているテーマ/aaaaa.php)

 

埋め込みたいphpが表示されましたか?
アップロード先の指定を間違えていたり、ショートコードに「.php」を入れてしまうと「ファイルがないですよ」というエラー表示がでてきます。
私は呼び込みたいphpを作って満足して、アップロードし忘れてることもしばしば。

子テーマで固定ページにphpを呼び出すには?

多分、子テーマで使う方が多いですよね。子テーマを使用している場合は上の6行目を下記のように置き換えます。

include(get_theme_root() . '/' . get_template() . "/$file.php");
↓
include(STYLESHEETPATH . "/$file.php");

 

-ワードプレス

関連記事

最初の数行を表示させて、残りは会員限定で閲覧できるWPの限定コンテンツを作りたい

【プラグイン無し】moreタグ以降はログインで表示させる限定をコンテンツを作成! 今回はログインフォーム、限定コンテンツについて調べました! やりたいことは下記になります。 ・コンテンツの最初の数行を …

特定のページだけに表示させたい! よく使う条件分岐

phpで使える便利な条件分岐 「トップページだけに表示させたい」「一覧ページだけ変更したい」 そんな時便利なのが条件分岐です。 トップページとその他 <?php if ( is_home() | …

バージョンアップしたContact Form 7 に入力確認画面をつけたい!

入力確認画面が作れるプラグイン「Contact Form 7 Multi-Step Forms」 Contact Form 7をアップデートしたらフォームが動かなくなってしまった! 調べてみると確認画 …

WordPressテーマ「lightning」カスタム投稿

「lightning」のカスタム投稿 WordPress無料テーマで人気の「lightning」。 サポートの終了しているテーマ「BizVektor」から後継の「lightning」に移行したという方 …

カスタム投稿プラグイン「Custom Post Type UI」のお引っ越し

カスタム投稿の移行 「Custom Post Type UI」は、簡単にカスタム分類を設定して独自の投稿タイプを作れるプラグインです。function.phpに記述せずにカスタム投稿を作成できるのは初 …