エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPress 任意のファイルを読み込むショートコードの処理

      2017/03/11

任意のファイルを読み込むショートコードを作る

 

WordPressのショートコードとは?

 
投稿ページや固定ページで PHPの実行結果を編集したい場合にはショートコードを使用します。
 
そのショートコードの詳細な使い方については「WordPress投稿にPHPを記述するショートコードの使い方add_shortcode」に詳しく書いていますのでそちらをご覧ください。
 
 


 

任意のファイルを読み込むショートコードを作成するに至った経緯

 
フォームのプラグイン「Contact Form 7」とオリジナルの JavaScriptを組み込んだフォームを作成したい、と思ったのがきっかけなのですが、その時の勘所悪げな悪戦苦闘をした記録なのです。
 
ちなみに、これを試したのは、まだ WordPressを初めて日が浅いころでした...(と、少し言い訳を。)
 
WordPressのお問い合わせフォームである Contact Form 7、MW WP Formについての解説は、下記に記事を書いていますので参考にしてください。
Contact Form 7使い方詳細解説・WordPressメールフォーム
WordPressの確認画面付フォーム MW WP Formの使い方詳細解説
 
 
フォームに JavaScriptを組み込みたい
 
1.Contact Form7の「フォーム」の投稿箇所に直接記述
   →結果:動かない
 
2.違うフォームのプラグイン「MW WP Form」を導入し、同様に投稿欄に直接記述
   →結果:JavaScriptは動いたが、フォームが動かない
 
3.JavaScriptを外部ファイルにし、固定ページにショートコードで取り込み
   →結果:動いたっ!! おぉ!!
 
4.ショートコードでわざわざ取り込まず、固定ページに直接 JavaScriptを書けばいい
   →結果:あとの祭り...
 
 
WordPressに慣れている方であれば、フォームの部分は「Contact Form7」「MW WP Form」といったプラグインを使ったとしても、その他のデザインなどのページ部分はフォームのショートコードを記述する固定ページ側に記述するものだと理解していると思います。
当然ながら、JavaScriptの記述も固定ページの投稿部分に記述するものだと理解していると思います。
 
しかしながら、まだまだ WordPressに慣れていない私は無理やり「Contact Form7」のフォームの記述部分に書こうとしてしまったわけなのです。
 
 
まず「Contact Form7」でやってみてうまく動かず、続けて「MW WP Form」でやってみてもうまく動かず...
 
そして、フォームに直接記述するのが問題なら、JavaScriptの部分を外部ファイルにして読み込めば...と思いつくものの、フォームにどうやって組み込めばいいか分からず。
 
そしてついに、固定ページ側で読み込めばいい!ということを思いついたわけです。
そこで、今回の記事の「固定ページの投稿に任意のファイルを読み込むためのショートコード」を作ろう、と思い至ったわけです。
 
最初に紹介した「WordPress投稿にPHPを記述するショートコードの使い方add_shortcode」でショートコードのことについて書きましたが、そもそもショートコードを学んだのは、この任意のファイルを取得するためのものだったのです。
 
 
さてさて。
任意のファイルを投稿ページ、固定ページに読み込むための方法は、まず、ショートコードの関数を追記します。
 
記述するファイルは、下記の「functions.php」です。
/{WordPressがインストールされている場所}/wp-content/themes/{テーマ名}/functions.php
 
functions.phpが置いてある場所については、「WordPressの functions.phpがある場所」に詳しく書いています。
 
 
追記するコードは、下記の通り。
ファイル内で、追記する場所が特に決まっているわけではありませんが、一番下あたりに追記しておけば分かりやすいでしょう。
———————————-

———————————-
 
投稿ページに記述するショートコードは以下の様に、取り込むファイル名を引数に記述します。
———————————-

———————————-
 
また、引数として記述した取り込むファイルは、下記の場所に置きます。
/{WordPressがインストールされている場所}/wp-content/themes/{テーマ名}/
 
 
参考にしたサイトは以下。
 http://kachibito.net/wordpress/easily-display-external-files.html
 
 
この参考したサイトのそのままでは URLは読み込めましたが、ファイルを読み込めませんでしたので、その部分を修正しています。
ただ、逆に URLを指定しての読み込みができなくなりました。
 
そんなわけで、URLを指定する場合は、「http://」があるかなしかで分岐処理を作る必要があるんでしょうね。
...と書こうと思いましたが、その分岐の処理も大したことがないので書きました。下記の様になりますね。とりあえず、これを書いておけばいいんじゃないでしょうか。
 
———————————-

———————————-
 
 
と、この試行錯誤のことをブログに書こうと思ったところでふと気づいたのです。
 
わざわざこんなことしなくても、固定ページに直接 JavaScriptの処理を記述すればよかったのでは?と。
もちろん、JavaScriptを記述するだけなら固定ページに直接記述すれば事足りました。
 
 
でも、でも!!
新しい知識を身に付けたことは喜ぶべきことですっ!!!
 
 

WordPressにはファイルを読み込む処理が用意されている

 
さらに後日談として...
もっと簡単な方法があることが判明!!
 
そもそも WordPressには、ファイルを読み込む関数が用意されているのです!
 
そのため、単純にファイルを呼び出して投稿ページなどに表示するだけなら、わざわざショートコードを作らずとも簡単にできてしまうのです。
 
詳しくは、下記を参照してください...
WordPress内のファイルを指定する際のパスの書き方なんかも参考になります。
 http://blog.neo.jp/dnblog/index.php?module=Blog&action=Entry&blog=pg&entry=2789&rand=c80a2

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPress プラグインのアップデート失敗でデータが消える事態が!

プラグインのアップデート失敗でデータが消失。不具合が起こる原因はあちこちにありますので常に慎重にバックアップをしましょう。

WordPressで指定カテゴリにnoindexをプラグインなしで設定。特定の記事は外す処理も
WordPressで指定カテゴリにnoindexをプラグインなしで設定。特定の記事は外す処理も

指定したカテゴリのみnoindexをプラグインなしで設定する関数を解説。指定したカテゴリの中でも指定した記事はnoindex設定しないオプションを装備。その処理とnoindexを設定すべき理由を解説。

WordPress環境を引越し、複製、バックアップ、リストアの手順解説

WordPress環境を引っ越し、複製、バックアップの手順書です。本番から開発、開発から本番、バックアップからのリストアなど環境を移す時の方法と手順の解説。

WordPressグローバルナビ・メニューの編集の方法解説

グローバルナビであるメニューの編集方法の解説です。メニューの管理画面の使い方の解説と設定のポイント、テーマによって設定する項目が違う点などを解説します。

Rating-Widgetは超簡単設定のWordPress口コミサイト構築プラグイン

口コミの評価点を投稿する機能に特化したプラグインで、多様なイメージの投稿方法や一覧ページ、コメントなどにも投稿機能を追加することができます。

EWWW Image Optimizerで画像の圧縮でWordPressを高速化

ページ表示の高速化に使うEWWW Image Optimizerの紹介です。英語で書かれているために取っつきにくいですが設定は3カ所。画像の圧縮もワンクリック。超簡単!

WP Reviewを使ってWordPressのレビューサイトを構築

レビューサイトを構築するプラグインです。複数の評価者による評価点投稿やページごとに配色を変更する機能、機能満載なウィジェットなどレビューサイト構築に最適です。

WordPressでダブルクォートなどの文字が自動変換?原因と対処方法

ダブルクォート、シングルクォート、HTMLタグなどが自動変換関数によって入力と違う形で表示されます。原因を2つの関数ごとに説明し、対応方法を3パターン提示します。

Advanced Custom Fieldsの関数の全部の使い方を調べてみた

Advanced Custom Fieldsに用意されている関数を全て調べてみた。よく使うget_field、the_field以外にも多くの関数が用意されていて、フォームを作成することも可能。

WordPressの投稿データ(記事データ)の管理方法

投稿の登録の方法、投稿データの管理方法の解説。MetaManagerなどのプラグインを入れた場合の入力ボックスを表示させる方法についても解説します。