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

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

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

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

PHP

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

JavaScript

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

jQuery

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

976閲覧

[JQuery]管理画面外でのAjax通信について

PHP_NewYorker

総合スコア3

WordPress

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

PHP

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

JavaScript

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

jQuery

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/10/21 04:28

編集2020/10/21 08:37

WordPress内のPHPファイルにてAjax通信を行っています。
WordPressの管理画面のサイト表示だと出力させたいデータが表示されるのですが、管理画面外のブラウザで実際にサイトを表示するとデータが0で返ってきており、表示されません。

追記1:localstorageで保存したデータを特定のページに出力させようとしております。
※Wordpress内のサイト表示では出力されていて、ブラウザでサイト表示させると0が返ってきている状態です。
わかりにくくて申し訳ございません。

追加2:admin-ajax.phpを使用したAjax通信なのですが、管理画面外は使用できないのでしょうか。

追加3:'wp_ajax_nopriv_…'は記載しております。

追加4:

PHP

1function favorite_ajax_scripts(){ 2 if(is_page('favorites-list')){ 3 wp_enqueue_script('favorite', get_theme_file_uri('test.js'), array('jquery')); 4 wp_localize_script('favorite', 'favorite_params', array( 5 'ajaxurl' => admin_url('admin-ajax.php') 6 )); 7 } 8} 9add_action('wp_enqueue_scripts', 'favorite_ajax_scripts'); 10add_action('wp_ajax_favorite', 'favorite_ajax_handler'); 11add_action('wp_ajax_nopriv_favorite', 'favorite_ajax_handler'); 12function favorite_ajax_handler(){ 13 $tag_ids = $_POST['id']; 14 if(empty($tag_ids)) { 15 echo '<p>まだ登録がありません</p>'; 16 die(); 17 return; 18} 19 $tag_ids = explode(',',$tag_ids); 20 21 $args = array( 22 'include' => $tag_ids 23 ); 24 25 $tags_array = get_tags($args); 26 27 if (!empty($tags_array)) { 28 echo '<ul class="tagcloud pick-up-tags tag-link-count">'; 29 foreach ( $tags_array as $tag ) { 30 $tag_link = get_tag_link( $tag->term_id ); 31 echo '<a href="'.$tag_link.'">'.'<span class="tag-caption">'.$tag->name.'<span class="tag-link-count">'.$tag->count.'</span>'.'</span>'.'</a>'; 32 } 33 echo '</ul>'; 34 } else { 35 echo '<p>まだ登録がありません</p>'; 36 } 37 die(); 38}

何か他に設定やコードの記述が必要なのでしょうか。

ご回答お待ちしております。

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

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

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

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

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

yambejp

2020/10/21 05:02

「ブラウザで直接サイトを表示するとデータが0で返ってきて」のくだりがわかりません なにをしようとするとどうなるのでしょうか?
PHP_NewYorker

2020/10/21 22:55 編集

Wordpress外でサイトを表示した時に、localstorageで保存したデータを特定のページに出力しようと0が出力される結果となります。 (わかりにくくて申し訳ございません。)
guest

回答1

0

自己解決

申し訳ございません。
自己解決致しました。

PHP

1add_action('wp_ajax_nopriv_favorite', 'favorite_ajax_handler');

'favorite_ajax_handler'の部分で間違ってアクション名を書いていたのが原因でした。
※本ページでは仮の名称を書いております。

投稿2020/10/22 23:01

PHP_NewYorker

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問