Category
Archives
Cocotiie
Trial And Error!やってみよう!の精神でWeb制作をしています。初心者の方にも伝わるよう、心がけています。少しでも誰かの助けになれれば嬉しいです。宜しくお願い致します。

2006年:Web制作に関する覚書きブログをはじめる。

2018年:Cocotiie(ココッティー)として運営開始。
20th Anniversaryを迎えました

[WordPress] 外部PHPファイルをショートコードで読み込む

エディターは便利ですが、メンテナンス性を考えて、PHPファイルで管理したい事もあります。作っておいて、さっと差し替える時などは、その方が都合が良いです。

ブロックエディタ(Gutenberg)にショートコードを書く事で、外部のPHPファイルを挿入する方法をご紹介します。

INDEX

ショートコードの書き方(基本)

編集画面からショートコードを呼び出し、[カッコ]の中にコードを入力します。

ショートコード

共通事項

子テーマ内に[template-parts]というフォルダを作成したとします。その中に作成したphpファイルを準備します。

子テーマ内にあるfunction.phpに以下のコードを書きます。[template-parts]の部分は、ご自分が作成したフォルダ名に変更可能です。

そのファイルをショートコードを投稿や固定ページでtest.phpを読み込みます。

[myphp file='test']

phpファイルを読み込む準備

function my_php_Include($params = array()) {
    $atts = shortcode_atts(array(
        'file' => 'default'
    ), $params);

    $file_path = get_stylesheet_directory() . "/template-parts/{$atts['file']}.php";

    if (!file_exists($file_path)) {
        return "<!-- Error: {$atts['file']}.php が見つかりません -->";
    }

    ob_start();
    include($file_path);
    return ob_get_clean();
}
add_shortcode('myphp', 'my_php_Include');

画像へのリンクの書き方

template-parts/images(任意の名前のフォルダ)内に画像を保管

子テーマからのURL

get_stylesheet_directory_uri() にすれば、環境(URL)が変わっても画像が消えません。

<img src="<?php echo get_stylesheet_directory_uri(); ?>/template-parts/images/table-banner.jpg" alt=" ">

画像を専用フォルダまでの省略タイプ

// 画像フォルダまでのURLを変数に入れておくと楽です!
<?php
$img_path = get_stylesheet_directory_uri() . '/template-parts/images/';
?>

 
//実際の表記の方法
<img src="<?php echo $img_path; ?>item01.jpg" alt="商品画像">

ショートコードを自作する

自分で作ってしまう方法です。ちょっとしたコードを差し込みたい場合に使えますが、需要があるのか??

子テーマ内にあるfunction.phpに以下のコードを書きます。[mytest-code]は任意の名前を付けて下さい。それが、自作したショートコードの名前です。

add_shortcode(ショートコード名, パラメータ)となります。

function my_func( $atts ){
	return "<p>あいうえお</p>"; //実行したい処理
}
add_shortcode( 'mytest-code', 'my_func' );

上記ではreturnで「あいうえお」と表示させていますが、もちろん if ・・・endifとか、バリバリ必要なコードを書いて下さい。

あとは、エディター画面からショートコードを書くだけ

[mytest-code]
よかったらシェアお願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント ※ハンドルネームでお願いします

コメントする

INDEX