FileMakerProを活用して仕事を効率化しよう!
[temp id=2]

シュートコードを変更しようと思って固定ページを編集すると、編集画面に入る前にショートコードによる出力が表示されてしまう現象がありました。割と簡単に解決できたのでその方法を書いておきます。

コールバックなので’print’ではなく’return’を使うべき

シュートコードはwp_contentというフィルターを通って処理されるため、シュートコードの出力はwp_contentフィルターへのコールバック(return)として返す必要があります。printやechoではwp_contentフィルターのタイミングを得られません。

▼ 変更前(ページ編集画面読み込み中にも出力されてしまう)

//カンタンProを起動します
function kantan_pro_start(){

//開かれたページのスラッグによってプロセスを選択するプログラムを読み込む
require "lib/kpwp-select-processing.php"; 
print $msg;
}

▼ 変更後(期待通りに出力される)

//カンタンProを起動します
function kantan_pro_start(){

//開かれたページのスラッグによってプロセスを選択するプログラムを読み込む
require "lib/kpwp-select-processing.php"; 
return $msg;
}

参考になったサイト

もっと複雑な問題かと思っていたのですが、解決策は意外と簡単でした。ありがとうございます。

記事本文に入れたショートコードの出力位置がおかしい場合の原因と対処 WordPress

まとめ

プラグインになにか問題を発見したとき、一つ一つ潰していかないといけません。そして、問題の原因を理解して開発を進めることが大事です。これも勉強のひとつですね。

[temp id=1]

kantan

FileMakerPro用販売管理システム「カンタンPro」を開発しています。僕自身が10年以上使って鍛えまくって来た実践的なシステムです。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

KantanPro © 2004-2022