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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2064閲覧

wordpress カスタムフィールド内のjavascriptの記述の仕方

uzr1709

総合スコア34

WordPress

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/03/20 12:28

wordpressの個別投稿ページにページごとにcssやjavascript(jQuery)を指定したいです。
プラグインの「Custom CSS and JavaScript」をインストールし、カスタムフィールドは表示出来ているのですが、
初歩的で申し訳ないのですがその中でのjavascriptの書き方が分かりません。

CSSの場合は名前に「custom_css_code」と入力し
値の部分にCSSを記述で動いているのですが、
javascriptの場合は名前に「custom_js_code」を入力した後、
値の部分をどのように記述したら良いのでしょうか?

記述したいコードは以下になります。

javascript

1<script> 2$(function() { 3 var bgColor = ''; 4 var bgDesign = ''; 5 var deColor = ''; 6 7 $('table#cndTbl td').on('click', function () { 8 $('#rsultBox').removeClass(); 9 10 if ($(this).hasClass('bgColor')) { 11 bgColor = $(this).text(); 12 $('#resBgColor').text(bgColor); 13 } else if ($(this).hasClass('bgDesign')) { 14 bgDesign = $(this).text(); 15 $('#resBgDesign').text(bgDesign); 16 } else if ($(this).hasClass('deColor')) { 17 deColor = $(this).text(); 18 $('#resDeColor').text(deColor); 19 } 20 }); 21}); 22</script>

$(function() { ~ 以下をコピペしてもjavasctiptは動作しませんでした。
上記のコードはテキストベースのサイトでは正常に動いているコードです。

jQueryですが、wordpressのheader内に読み込ませてあります。
phpファイルに記述しているjavascript(jQuery)は動いておりますので
あくまでもカスタムフィールド内の記述方法についてご教授お願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

$(function() { ~ 以下をコピペしてもjavasctiptは動作しませんでした。

エラーが出ていないか確認すれば原因が分かると思います。

推測ですが$を全てjQueryに変更すれば動くのではないでしょうか。

確認した時点で解決されてますが書いておきます。

<script> jQuery(function() { var bgColor = ''; var bgDesign = ''; var deColor = ''; jQuery('table#cndTbl td').on('click', function () { jQuery('#rsultBox').removeClass(); if (jQuery(this).hasClass('bgColor')) { bgColor = jQuery(this).text(); jQuery('#resBgColor').text(bgColor); } else if (jQuery(this).hasClass('bgDesign')) { bgDesign = jQuery(this).text(); jQuery('#resBgDesign').text(bgDesign); } else if (jQuery(this).hasClass('deColor')) { deColor = jQuery(this).text(); jQuery('#resDeColor').text(deColor); } }); }); </script>

ビジュアルエディターを使う場合、空行が余計なんでしょう。

投稿2018/03/20 12:47

編集2018/03/20 13:11
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

uzr1709

2018/03/20 13:00

調べていてカスタムフィールドではなく、投稿欄にscriptを書いても動作するとあったので投稿欄に直接記述したのですが、 コードの途中に</p>タグが入ってしまいエラーになっていました。 $をjQueryに変更というのは「jQuery(function ~」「jQuery('table#cndTbl td') ~」という事でしょうか?
uzr1709

2018/03/20 13:05

全ての「$」を「jQuery」に変更し、カスタムフィールドに記述したら正常に動作しました。 ありがとうございます。勉強になりました。
uzr1709

2018/03/20 13:12

やりたくない方法ですが、改行をなくし全て繋げれば余計なhtmlタグは入らないという事でしょうか。 いずれ試してみようと思います。 アドバイスありがとうございました。
退会済みユーザー

退会済みユーザー

2018/03/20 13:19 編集

『空行』と書いてます。『改行』ではありません。 var deColor = '';の下 $('#rsultBox').removeClass();の下 だから空行を消してコードを書きました。
uzr1709

2018/03/20 13:22

失礼致しました。 投稿欄内で試す時には空行に気をつけます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問