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

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

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

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1644閲覧

POST送信でお気に入り登録しているタグIDを呼び出したい(ソース修正版)

退会済みユーザー

退会済みユーザー

総合スコア0

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/10/07 00:19

編集2020/10/07 02:47

Wordpressを使用しております。
下記のコードでタグの関数リファレンスに書き換えたいのですが、
'post'と'posts'の部分をどう書き換えれば良いのかわかりません。

POST送信でお気に入り登録しているタグIDがjsファイルから届くので、それを今度はカンマ毎に配列に直して、「post__in」の部分で必要なタグIDとして指定しようとしております。

ぜひ、教えていただけれたら幸いです。

PHP

1 $args = array( 2 'posts_per_page'=>-1, 3 'post__in'=>$post_ids 4 ); 5 query_posts($args); 6 if(have_posts()): 7 echo '<ul class="archive">'; 8 while(have_posts()): the_post(); 9 ?>

ちなみに全体ソースはこちらになります。
<全体ソース>

PHP

1function favorite_ajax_handler(){ 2 $tag_ids = $_POST['id']; 3 $tag_ids = explode(',',$tag_ids); 4 $args = array( 5 'tag__in'=>$post_ids 6 ); 7 $tags_array = get_tags( $args ); 8 if(have_posts()): 9 echo '<ul class="archive">'; 10 while(have_posts()): the_post(); 11 ?> 12 <li> 13 <h2><?php the_title(); ?></h2> 14 <?php the_excerpt(); ?> 15 </li> 16 <?php 17 endwhile; 18 echo '</ul>'; 19 else: 20 echo '<p>まだお気に入り登録がありません</p>'; 21 endif; 22 die; 23}

<参考サイトに記載のソース>

PHP

1add_action('wp_ajax_favorite', 'favorite_ajax_handler'); 2add_action('wp_ajax_nopriv_favorite', 'favorite_ajax_handler');//wp_ajax_nopriv_{アクション名} -> favorite.jsで指定したアクション名 3function favorite_ajax_handler(){ 4 $post_ids = $_POST['id']; 5 $post_ids = explode(',',$post_ids); 6 $args = array( 7 'posts_per_page'=>-1, 8 'post__in'=>$post_ids 9 ); 10 query_posts($args); 11 if(have_posts()): 12 echo '<ul class="archive">'; 13 while(have_posts()): the_post(); 14 ?> 15 <li> 16 <h2><?php the_title(); ?></h2> 17 <?php the_excerpt(); ?> 18 </li> 19 <?php 20 endwhile; 21 echo '</ul>'; 22 else: 23 echo '<p>まだお気に入り登録がありません</p>'; 24 endif; 25 die; 26}

参考サイトURL
https://magnets.jp/web_design/11793/

以上、よろしくお願い致します。

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

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

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

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

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

Takumiboo

2020/10/07 01:41

WordPressに関連する質問であれば、本文中にその旨を記載するのと、質問のタグに追加してください。
退会済みユーザー

退会済みユーザー

2020/10/07 01:45

ご指摘ありがとうございます。 Wordpressのタグを追加しておりませんでした。申し訳ございません。 追加させていただきます。
Takumiboo

2020/10/07 01:50

ソースコードは<code>ボタンを使って、マークアップしてください。以下のような形になるはずです。 ```PHP function favorite_ajax_handler(){ ~~~中略~~~ } ```
退会済みユーザー

退会済みユーザー

2020/10/07 02:24

そんな機能があったんですね…! 教えていただき、ありがとうございます。
Takumiboo

2020/10/07 02:43

修正ありがとうございます。 本題ですが、「下記のコードでタグの関数リファレンスに書き換えたいのですが、'post'と'posts'の部分をどう書き換えれば良いのかわかりません。」の意味がわかりませんでした。 「タグの関数リファレンスに書き換えたい」とはどういうことでしょうか。 また、そもそもこのコードが何をしたいものなのか、そのためにどういった作りになっているのか、などの前提条件の説明が必要に思います。
退会済みユーザー

退会済みユーザー

2020/10/07 03:00

伝え方が下手で申し訳ございません。 参考サイトのソースを追加させていただきました。 参考サイトのソースだと登録された投稿記事を呼び出す書き方になっており、 今回やりたいこととしては、登録されたタグを呼び出す書き方を探しております。
Takumiboo

2020/10/07 03:11

呼び出す、というのは要するにLocalStorageに保存しているタグのIDから、該当するタグの表示名を呼び出すということで良いですか?それとも、そのタグに紐付いた投稿を呼び出すというところも含みますか?
m.ts10806

2020/10/07 03:39

>(ソース修正版) 修正されたかどうかは編集履歴の有無でわかります。 また、ここにコメントした人には通知がいくのでわざわざ書く必要はありません。
退会済みユーザー

退会済みユーザー

2020/10/07 03:54

>Takumiboo様 おっしゃるとおり、 LocalStorageに保存しているタグIDから該当するタグの表示名を呼び出す方になります。
退会済みユーザー

退会済みユーザー

2020/10/07 03:55

>m.ts10806様 そうなんですね。 terataill便利ですね! 教えていただき、ありがとうございます。
guest

回答2

0

ベストアンサー

参考サイトのソースを見ました。
お気に入り登録した記事のidを元に、記事の概要分を取り出すというプログラムのようですが、
実際に取り出している部分がquery_posts($args);になります。
これはWordPressのループという機能を使って記事の一覧を取得するものとなり、
(例えばトップページで記事一覧が表示されるのもこの機能で、「最新の5件」というような条件に合致する記事を取得しています)
今回ご希望のタグを取得するという目的に使うことは出来ません。

get_tags()を使われていますが、少し使い方が違います。
簡単にですが作ってみました。

PHP

1function favorite_ajax_handler(){ 2 $tag_ids = $_POST['id']; 3 $tag_ids = explode(',',$tag_ids); 4 5 // ここで、取得したいタグIDを配列で指定します 6 $args = array( 7 'include' => $tag_ids 8 ); 9 10 // ここで、指定したタグIDの一覧がオブジェクトで返ってきます 11 $tags_array = get_tags($args); 12 13 if (!empty($tags_array)) { 14 // 取得したタグ名等を表示します 15 // $tag->term_id : タグのID 16 // $tag->name : タグの表示名 17 // $tag_link : タグアーカイブへのリンク(get_tag_linkによって生成) 18 // 詳細は https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_tags を参照 19 // ここではリスト化しています 20 echo '<ul>'; 21 foreach ( $tags_array as $tag ) { 22 $tag_link = get_tag_link( $tag->term_id ); 23 echo '<li><a href="'.$tag_link.'">'.$tag->name.'</a></li>'; 24 } 25 echo '</ul>'; 26 } else { 27 echo '<p>まだお気に入り登録がありません</p>'; 28 } 29}

投稿2020/10/07 06:06

Takumiboo

総合スコア2536

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

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

退会済みユーザー

退会済みユーザー

2020/10/07 06:53

書き方まで教えていただき、ありがとうございます!! わかりやすくて助かりました。 query_posts($args);の部分をどうタグを取得する際に書けば良いか一番悩んでいました。 get_tags()で取得できるかなと思っていましたが、全然書き方違うんですね。。。
Takumiboo

2020/10/07 07:29

基本的に関数が違えば引数のとり方も違うので、それぞれリファレンスを頼るようにしてください。 今回のget_tags()であれば上述したページを参照ください。他にも色々条件を指定したり、情報を取得できます。
guest

0

PHPでPOST送信されたものを受け取りたいなら$_POSTを使ってみてはどうでしょうか。
postと名の付くものが多すぎて見辛いのでできたらそこも直すことをお勧めします。
変数に何が入っているのか確認したいならvar_dumpを使ってみてみるのも良いと思います。

投稿2020/10/07 01:04

cacao86

総合スコア97

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

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

退会済みユーザー

退会済みユーザー

2020/10/07 01:41

ご回答ありがとうございます! $_POSTは使用しております。 function favorite_ajax_handler(){ $tag_ids = $_POST['id']; $tag_ids = explode(',',$tag_ids); $args = array( 'tag__in'=>$post_ids ); $tags_array = get_tags( $args ); if(have_posts()): echo '<ul class="archive">'; while(have_posts()): the_post(); ?> <li> <h2><?php the_title(); ?></h2> <?php the_excerpt(); ?> </li> <?php endwhile; echo '</ul>'; else: echo '<p>まだお気に入り登録がありません</p>'; endif; die; } 先ほど載せていたコードは一部のみでした。わかりずらく申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問