WordPressのブロックエディタ上に自作したPHPファイルを、ショートコードを利用して呼び出す方法を記載します。
作業の流れ
- PHPファイルを自作する
- 作ったPHPファイルを、WordPressで使ってるテーマと同じディレクトリ内にアップロードする(子テーマにしましょう)
- 以下のコードをfunctions.phpに追加する
- ブロックエディタの「ショートコード」ブロックで、自作したファイルを指定
使用コード
functions.php
functions.php
//PHPをショートコードで呼び出す
function Php_Include($params = array()) {
extract(shortcode_atts(array('file' => 'default'), $params));
ob_start();
include(STYLESHEETPATH . "/$file.php");
return ob_get_clean();
}
add_shortcode('call_php', 'Php_Include');
ショートコードブロックでの書き方
拡張子なしのファイル名を〇〇に入れてください。
Short code
[call_php file='〇〇〇〇〇〇']
目次
自分がどのように使ったのか
PHPなんで何にでも使えるんですけど、今回はWordPressのデフォルトで用意されている「最新の投稿」ブロックという、簡単に新しい記事を取得できるブロックがあるんですが、それだと「先頭固定表示」に指定した記事が、先頭にこなかったんですよ。
調べるとどうも不具合のようで、修正が困難そうだったので、ブロックを使うのをやめてPHPでループを普通に呼び出す方法に切り替えました。
無事に先頭に固定設定した記事は一番上になりました。
WordPress 新着投稿リストを取得するためのPHPループコード 記事取得するためのループコード PHP<?php $args = array( 'post_type' => 'post', //投稿タイプ 'posts_per_page' => 5, 'post_…