質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

2597閲覧

WordPressテンプレートXeory Extensionにfunction.phpからjQueryファイルを読み込ませたい

lic

総合スコア5

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/08/24 10:03

前提・実現したいこと

WordPress初心者です。

WordPress無料テンプレートXeory Extensionにて
functions.phpを使ってfront-page.phpにjQueryファイルを読み込ませたいです。

発生している問題

header.phpにjQueryを直接記述したものは
front-page.phpに読み込まれますが
function.phpにて読み込み操作をしたものは
デベロッパーツールで確認しても該当のjsファイルが読み込みされない状態です。

試したこと

1.header.phpに記述したjQueryを消す

2.jQueryのファイルを作成する
/xeory_extension/lib/js/accordion.js
上記のように、jsフォルダにjsのファイルを作成しました。
functions.phpにjQuery読み込みのコードを入力しました。

functions.php

<?php // ファンクション require_once('lib/admin/init.php'); require_once('lib/admin/manual.php'); require_once('lib/functions/asset.php'); require_once('lib/functions/head.php'); require_once('lib/functions/custom-post.php'); require_once('lib/functions/bzb-functions.php'); require_once('lib/functions/setting.php'); require_once('lib/functions/custom-fields.php'); require_once('lib/functions/category-custom-fields.php'); require_once('lib/functions/widget.php'); require_once('lib/functions/postviews.php'); require_once('lib/admin/extension.php'); require_once('lib/functions/shortcodes.php'); require_once('lib/functions/social_btn.php'); require_once('lib/functions/show_avatar.php'); require_once('lib/functions/rss.php'); require_once('lib/functions/category-custom-fields-ex.php'); //ここまで元々入ってたもの function add_script() { wp_enqueue_script('accordion', get_template_directory_uri().'lib/js/jquery.accordion.js', array(), '1.0', false); } add_action('wp_enqueue_scripts','add_script');

accordion.js

header.phpで動いたコードを移植

以上になります。

補足の質問

functions.phpの
書き出しの<?php〜から始まっていますが、 末尾に ?> は最初から入っていませんでした。
これはWordPress上では問題ないのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

get_template_directory_uri()の出力するURLは、末尾にスラッシュは付きません。

【テーマ・親テーマおよび子テーマのディレクトリのURL、またはパスを取得する | The WordPress Press】
https://thewppress.com/libraries/get-theme-directory-url-and-path/

wp_enqueue_scriptの第3引数には依存関係にあるライブラリを指定できます。

【wp_enqueue_script – WordPress私的マニュアル】
https://elearn.jp/wpman/function/wp_enqueue_script.html

【WordPressでスクリプトファイルを読み込むときはwp_enqueue_script関数を使う | 埼玉のWebコンサルタント ColdSleep Works】
https://works.coldsleep.jp/blog/wp_enqueue_script/


末尾に ?> は最初から入っていませんでした。

【PHP: PHP タグ - Manual】
https://www.php.net/manual/ja/language.basic-syntax.phptags.php

ファイルが PHP コードのみを含む場合は、ファイルの最後の終了タグは省略するのがおすすめです。 終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。

投稿2019/08/25 15:10

kei344

総合スコア69366

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lic

2019/08/26 15:57

順を追ってご説明とリンクをご提示いただき、お陰様で解決とともに理解を深めることができました。 追記の質問にもご回答いただきスッキリしました。ありがとうございます!
lic

2019/08/27 12:44

これでうまく読み込めました。 function my_enqueue_script() { wp_enqueue_script( 'accordion-js', get_template_directory_uri() . '/lib/js/accordion.js'); } add_action( 'wp_enqueue_scripts', 'my_enqueue_script' );
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問