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

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

4228閲覧

WordPressでjQueryプラグイン「Vegas2」を実装する方法

bluemarron

総合スコア11

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/08/22 10:38

編集2020/08/22 23:52

質問失礼いたします。
WordPressでjQueryプラグイン「Vegas2」を実装したいのですが、どうしてもうまく機能しません。

こちらの記事を参考にして、以下のように設定しました。


overlays
vegas.min.css
vegas.min.js
上記三つのファイルをダウンロード。
overlaysはテーマフォルダに、
vegas.min.cssはテーマフォルダの「css」ファルダに、
vegas.min.jsはテーマフォルダの「js」フォルダに格納。


functions.phpに次のように記述。

function wp_enqueue_styles() { if(is_front_page()) { wp_enqueue_style( 'vegas-style', get_template_directory_uri() . '/css/vegas.min.css' ); } } add_action( 'wp_enqueue_scripts', 'wp_enqueue_styles' );


header.phpに次のように記述。

<head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <?php if(is_front_page()): ?> <script script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/vegas.min.js"></script> <script script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/function.js"></script> <?php endif; ?> <?php wp_head(); ?> </head>


function.jsというファイルを作成して「js」フォルダに格納し、次のように記述。

$(function() { $('#vegas').vegas({ slides: [ { src: './img/dummy01.jpg' }, { src: './img/dummy02.jpg' }, { src: './img/dummy03.jpg' }, ], }); });

HTML

1<div id="vegas"></div>

CSS

1#vegas { 2 width: 100vw; 3 height: 300px; 4}

以上です。
これでテストしてみましたが真っ白で何も表示されず動きません。

どなたか原因を教えていただけると助かります。
何卒よろしくお願いいたします。

【追記】

Space-Monkey様からいただいたコメントを受け、
ディベロッパーツールでエラー表示を確認しました。

イメージ説明

どうやら画像が取得できていないようなのですが、
たしかに「img」フォルダに「dummy01.jpg」という画像は入っています。
WordPressだと特別なパスの指定方法が必要なのでしょうか。

【追記】
画像のパスに「wp-content/themes/テーマ名」を付け加えたところ、
画像は表示されるようになりました。
ただ、上記の画像の黄色の部分の通り、まだvegasのcssとjsの読み込みに不具合があるようで
動いてくれません。
いま改めて試行錯誤しています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

jQueryが二重に読み込まれていないか
vegas.min.css、vegas.min.js、function.jsが読み込まれているか
指定したパスに画像が設置してあるか
エラーが出ていないか

ブラウザのソースとデベロッパーツールで確認

JQueryはヘッダー側で構わないとして、JSは正常にロードしておりエラーが無い場合でもフッターで読み込んだ方が良い場合もある

試行錯誤も必要
とりあえずエラー等の確認

追記
wp-contentやwp-adminディレクトリがある階層にimgディレクトリを設置しているのならそのパスで良いだろうが、テーマのディレクトリ内にあるならばそのパス(URL)にしなければ404になる。

こんな感じ
http://wordpress0727.local/wp-content/themes/wordpress0727/img/dummy01.jpg

こうすると設置するサーバーが変わると再度書き換えないといけないので面倒。
だからWordPress関数が使えるようにheader.phpでインラインで読み込む方が無難かと。

PHP

1<?php if(is_front_page()): ?> 2<script> 3$(function() { 4 $('#vegas').vegas({ 5 slides: [ 6 { src: '<?php echo get_template_directory_uri(); ?>/img/dummy01.jpg' }, 7 { src: '<?php echo get_template_directory_uri(); ?>/img/dummy02.jpg' }, 8 { src: '<?php echo get_template_directory_uri(); ?>/img/dummy03.jpg' }, 9 ], 10 }); 11}); 12</script> 13<?php endif; ?>

Uncaught TypeError: $...は解決したんだな。

投稿2020/08/22 15:53

編集2020/08/23 00:14
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

bluemarron

2020/08/22 23:45

初学者ゆえ、エラーが出た際にディベロッパーツールで確認できるということを知りませんでした。 ありがとうございます。 質問本文の方に編集で追記させていただいたのですが、画像のパス指定に不具合があったようです。 WordPressの場合にはパスの指定方法が通常と異なるのでしょうか。
bluemarron

2020/08/22 23:52

画像のパスに「wp-content/themes/テーマ名」を付け加えたところ、 画像は表示されるようになりました。 ただ、上記の画像の黄色の部分の通り、まだvegasのcssとjsの読み込みに不具合があるようで 動いてくれません。 いま改めて試行錯誤しています。
退会済みユーザー

退会済みユーザー

2020/08/23 00:17 編集

コメントにコード書くと可読性が下がるので回答に追記した おっと vegas.min.jsはjqueryよりも後、さらに言えばフッターで読み込んだ方が無難。
bluemarron

2020/08/23 01:15

動きました! ありがとうございました!
退会済みユーザー

退会済みユーザー

2020/08/23 12:52

> 動きました! > ありがとうございました! じゃなくて、何で駄目だったのか、どうやった結果動いたのか、顛末くらい書きなさいよ。 同じ問題を抱えてこのページに辿り着いた者が見ても大して参考にならんし、この場を提供しているサイトにもメリットが無い。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問