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

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

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

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

PHP

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

HTML

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

Q&A

解決済

1回答

2300閲覧

formセレクタの値をプラグイン「WordPress Popular posts」 のパラメーターに送りたい。

d-xanthus

総合スコア56

WordPress

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

PHP

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

HTML

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

0グッド

0クリップ

投稿2015/12/11 10:19

お世話になります。
WordPressで人気記事のランキングを
プラグイン「WordPress Popular Posts」を使って表示させています。

今回、執筆者別のランキングを表示したいと思い、
formのselectタグを使って以下のようなコードを作成したのですが、
submitボタンを押すと、urlアドレスの末尾にurlパラメーターとして渡されてしまい、
Popular Postsへのコードに送ることができません。

作成したコードは以下のコードです。
問題点等お解りになりましたらご教授いただけると幸いです。
何卒よろしくお願いします。

###ソースコード

<?php $users =get_users( array( //こちらで執筆者リストを取得 'orderby' => 'ID', 'order' => 'ASC', 'exclude' => '1,2,31', ) ); ?> <form action="ranking.php" method="get"> <select name="author"> <?php foreach($users as $user): //opsionタグをforeach文で作成 value値に執筆者ID ?> <?php $uid = $user->ID;?> <option value="<?php echo $uid;?>"><?php echo $user->display_name; ?></option> <?php endforeach; ?> </select> <input type="submit"> </form> <?php $author = htmlspecialchars($_GET['author']);//フォームからのデータを取得 if (function_exists('wpp_get_mostpopular')) { $arg = array ( 'author' => $author, //こちらに執筆者のIDを送りたい。 'range' => 'weekly', 'order_by' => 'views', 'post_type' => 'post,page', 'title_length' => '25', 'limit' => 10, ); wpp_get_mostpopular($arg); } ?>

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

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

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

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

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

Lhankor_Mhy

2015/12/12 02:28

このコードはranking.phpのコードですか?
d-xanthus

2015/12/12 02:32

Lhankor_Mhyさん 返信ありがとうございます。 そうです、ranking.phpに記載しています。
Lhankor_Mhy

2015/12/12 02:50

であれば、urlアドレスの末尾にurlパラメーターとして渡されても(ページ繊維はしますが)$_GET['author']で取得できると思うのですが、どういう問題が発生していますか?
d-xanthus

2015/12/12 02:57

Lhankor_Mhyさん 返信ありがとうございます。 取得はできているのかもしれませんが、submitをクリックするとエラーページへ飛ばされてしまい、結果を見ることができません。
Lhankor_Mhy

2015/12/12 03:00

エラーページですか? 404とかですか? submitする前のhttp://yourdomain.com/ranking.phpはエラーなく表示できているんですよね?
Lhankor_Mhy

2015/12/12 03:20

action="ranking.html"でも404になるんですよね? うーん……
d-xanthus

2015/12/12 03:31

Lhankor_Mhyさん ありがとうございます。 ひょっとしたらWordPress特有の記述方法等があるかもしれません。もう少し気長に探してみます。
d-xanthus

2015/12/12 04:07

Lhankor_Mhyさん ありがとうございます。今回のエラー原因が判明しました。 selectタグのnameに"auther"を使っていることが原因です。authorがWPではユーザー名を表す名称だったため、ユーザーページへ飛ばそうとしていたことが遷移の遠因でした。Lhankor_Mhyさんとのやり取りの中にヒントが浮かんで原因をみつけることができました。ありがとうございました。
Lhankor_Mhy

2015/12/12 04:08

お役に立てませんでしたが、解決してよかったです。
guest

回答1

0

自己解決

このページをご覧いただいた方に感謝申しあげます。
今回はコードにおいて、selectタグのnameに"author"を使っているため不具合があったと判明しました。
authorはWordPressではユーザーを表す名称だったためエラーになっていたようです。
タグネームにはWordPress等で使われている名称は使わないようにしましょう。
ありがとうございました。

投稿2015/12/12 04:12

d-xanthus

総合スコア56

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問