WordPressの質問(q10013003):$offsetのコントロール方法は?

このQ&Aのポイント
  • WordPressの質問(q10013003)の続【投稿ページ その3】で、break,continue構文以外で$offsetをコントロールする方法について教えてください。
  • 質問内容を要約すると、$offsetをコントロールするための良い方法を探しているとのことです。
  • 回答としては、データベースから取得したRSSを分けて保存し、そのまま出力する方法をおすすめします。この方法ならループをせずに$offsetをコントロールできます。また、画像1,画像2,画像3のURLについても同じサイトから取得する予定であれば、storage_rss.phpと処理を分ける必要はありません。SQLから操作するかどうかは詳細がわかりませんが、必要に応じて使い分ければ良いでしょう。
回答を見る
  • ベストアンサー

WordPressの質問(q10013003)の続

【投稿ページ その3】 ・break,continue構文以外で$offsetをコントロールする方法を探しているんですが、何か良い方法はありますでしょうか? こまかくわけるとこうですね。 ==== RSS バナー広告 記事前編 RSS バナー広告 記事続編 RSS コメント 前後の記事リンク ==== RSSと他のものの登場回数が異なるのでループしない方法でいきましょう。 最初にデータベースからRSSを取得して、$rss1、$rss2、$rss3のみっつに分けてためておきます。 あとはそのまま出力する方法でどうでしょうか。 ---- $rss1の出力 バナー広告 記事前編 $rss2の出力 バナー広告 記事続編 $rss3の出力 コメント 前後の記事リンク ---- A.回答ありがとうございます。RSSの出力については理解できたのですが、今のstorage_rss.phpと処理を分けるのか気になります。RSSは同じサイトから出力する予定です。 画像1,画像2,画像3は固定ページと投稿ページそれぞれ同じサイトのURLからを引っ張ります。 画像1タイトル1の固定投稿ページのRSS 画像2タイトル1の固定投稿ページのRSS 画像3タイトル1の固定投稿ページのRSS でURLは同じものにします。 それともSQLから操作するのでしょうか?

  • PHP
  • 回答数85
  • ありがとう数106

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.85

ところで、確認したいことがあります。 front-page.phpとpage-secound.phpとpage-third.phpの違いは、画像数が1か2か3でその一覧表示スタイルと、RSSの取得元だけで、ランキング表示その他は、それぞれの画像数の記事になるだけで、デザインは同じですよね。 それと、3パターンあると言われていた、アーカイブとカテゴリーと検索は、その一覧表示のデザインがfront-page.phpとpage-secound.phpとpage-third.phpのように異なるだけで他は同じですよね。

php_learn
質問者

お礼

ファイル自体を識別させて表示方法の切り替えを行うのか、それぞれの機能の箇所で分岐を行うのかどちらかになると思われます。

php_learn
質問者

補足

おっしゃる通りです。それぞれfront-page.php,page-secound.php,page-third.phpと同じデザイン記事表示になります。 画像数が異なるため、間接的にカスタムフィールドで表示ファイルの切り替えを行うように考えています。

その他の回答 (84)

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.84

・下記のコードは検索、アーカイブ、カテゴリーすべてにあるものなのですが、front-page.phpのように ページの先頭にカスタムフィールドを選別する配列がないと機能しません。先頭に同じように書くべきでしょうか? アーカイブとカテゴリーの先頭に以下のコードを追加するようにお願いしました。 ---- $tn = $_GET['tn']; $tk = get_template_key($tn); ---- $tn = 1;のように固定で書かないのは、遷移元からもらっているからです。 実行時には1が入るので問題ありません。 検索ページも同じです。

php_learn
質問者

お礼

今日から期限が切れてしまっていましたので、こちらからよろしくお願いいたします。 https://okwave.jp/qa/q10032703.html

php_learn
質問者

補足

大変失礼致しました。遷移元からもらっていることが頭からなくなっておりました。

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.83

・初めに配列を渡す前提に修正頂いているのですが、検索、アーカイブ、カテゴリーも配列を渡して3パターンファイルを作成します。 意見の食い違いが出てはいけませんので、お伝えしておきます。 ファイル構成は12ファイル+固定ページです。 具体的にどのようにしてそれを実現されるのかわかりませんが、コードの途中に固定で'single_rss_feed1'とか1とか書かないのが第一の目的ですので、このまま続けてください。 もし無駄になるかもしれないとでも思っているのなら、先にその3パターンのうち2パターン目を実装した方がいいかもしれません。 それを見てみないと私も無駄なことを考えさせられているだけになってしまいます。 それはそれとして。 いただいたコードを確認しました。 まず、front-page.phpから。 なるほど、いただいた質問がなぜでてきたのかわかりました。 3日間ランキングのところと勘違いされていたのかと思います。 アーカイブリンクが変更されていません。 ---- $url = home_url("{$y}/{$m}/?tn={$tn}"); ---- つぎに、search.phpです。 最初のこの2行は不要ですので削除してください。 ---- $tn = 2; $tk = get_template_key($tn); ---- 以下の2行目の<?phpでエラーになっているので削除してください。 ---- <!--週間カテゴリーランキング--> <div class="popular-keywords"> <?php ---- ?tn={$tn}の前後にスペースが入っていてリンクをクリックするとエラーになりますので詰めてください。 ---- <a href="<?php echo get_term_link($term)." ?tn={$tn} "; ?>" width: 97px;height: 130px;> ---- $tkが抜けていますので追加してください。 ---- $query = $wpdb->prepare($sql, "%$search_query%", "%$search_query%", "%$search_query%"); ----

php_learn
質問者

お礼

遡って回答をすることになり申し訳ありません。 あまりにも回答者さんに任せきりでした。申し訳ありません。 もう少しアドバイスをお聞きしながら自分で作成できる部分もあったかもしれないです。 再度教えていただくことが可能でしたら、アドバイスお願いいたします。 $tnが機能しておらずアーカイブ、カテゴリー、検索すべて取得できておりません… https://okwave.jp/qa/q10044117.html

php_learn
質問者

補足

WordPressの質問(q10023298)の続 ・初めに配列を渡す前提に修正頂いているのですが、検索、アーカイブ、カテゴリーも配列を渡して3パターンファイルを作成します。 意見の食い違いが出てはいけませんので、お伝えしておきます。 ファイル構成は12ファイル+固定ページです。 具体的にどのようにしてそれを実現されるのかわかりませんが、コードの途中に固定で'single_rss_feed1'とか1とか書かないのが第一の目的ですので、このまま続けてください。 A.元々の構想として、それぞれのフィールド名ごとに検索ページを設ける必要があり固定ページを3つ用意したうえで、検索、カテゴリー、アーカイブと結びつける予定でした。 page-secound.phpとpage-third.phpを固定ページのテンプレートにして、検索、カテゴリー、アーカイブもテンプレート化してカスタムフィールドの選択肢が違うファイルを3つずつ用意します。 初めの画像数でまず固定ページのテンプレートを選んで、その後の検索、カテゴリー、アーカイブなどでまたカスタムフィールドから記事を選別させるような仕組みになりそうです。 この仕組みが不可能であればそれぞれ1つずつに減らすか、2パターンに変更して負担を軽減する予定でした。 ある程度完成したタイミングで伝えようと考えていたのですが、遅くなってしまい申し訳ありません。 再度考えてみたのですが、if文で検索、カテゴリー、アーカイブの選択肢を分岐させた方が良いかもしれません。3つとも記事の表示の仕方が画像数で変わるため識別させる必要があります。 javascriptやjQueryについて教わったのですが、wordpressは外部からの配列はセキュリティでブロックされているため、 基本はそれ以外のCMSを使う必要があるそうです。Wordpressではセキュリティの網をかいくぐる必要があります。 Ajax等をWordpressで扱う方法を調べたときに記事があまり無かったことで疑問でしたが、そもそも扱うことを推奨されていないようでした。 つぎに、search.phpです。 最初のこの2行は不要ですので削除してください。 ---- $tn = 2; $tk = get_template_key($tn); ---- A.こちらは今後の構想によって変わってきますが、上記の設計についてアドバイスを頂いてからになりそうです。 明後日で質問の期限が切れてしまうため、下記のリンクから引き続きよろしくお願い致します。 https://okwave.jp/qa/q10032703.html

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.82

・meta_keyは本来使えないテーブルだったと思うのですが、配列を外から渡すことで間接的にフィールドで絞ることが可能なのでしょうか? WordPressの関数の引数$argsにmeta_keyが使えないものがあった、という話しでしょうか。 これもそうだったかどうか覚えていませんが、meta_keyを使うためにSQLにしたのではなかったかと思います。 そもそもこの変更は、SQLに以下のように固定で書いているのを、 ---- meta.meta_key = 'single_rss_feed1' ---- 以下のように変数にしただけのことで、 ---- meta.meta_key = %s ---- meta_keyは使っているので、それが使える使えないという話しにはならないものです。

php_learn
質問者

補足

meta_keyとデータベース名を勘違いしておりました。 meta_keyで投稿を選別して、各データベースを下記コードで選択しているのですね。 説明ありがとうございます。 $tn = 1; $tk = get_template_key($tn);

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.81

改めて。 ・search.php,archive.php,category.phpのRSS保存についてお聞きしたいのですが、こちらは指定方法をどうするべきでしょうか? 先頭に数を指定する方法をとるべきですか? コメントが古くなって誤解のもととなっています。 コードは修正しても、コメントは放置ということがプログラミングではよくあることです。 それぞれの処理の意味がわかったら不要なコメントは消した方がいいです。 そのためにもコードを見てどのような処理をしているかが理解できるようになってください。 ここは単なるRSSテーブル名の取得の処理になっています。 指示した通り変数にしてください。 例えそれが画像1専用のものだったとしてもです。 ---- $rss_table_name = get_rss_table_name($tn); ---- $posts_per_group = $tn; // 投稿グループあたり投稿件数 ----

php_learn
質問者

補足

回答ありがとうございます。 迷っていてコードの修正に間違えがありました。申し訳ありません。 検索ページやカテゴリーページやアーカイブページなども画像ごとに表示を変更したい場合は先頭にコードを追加してみます。下記コードでRSS以外の週間ランキングやカテゴリーランキングなどもまとめている為、必須のように見えます。 <?php $tn = 1; $tk = get_template_key($tn); ?>

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.80

・search.php,archive.php,category.phpのRSS保存についてお聞きしたいのですが、こちらは指定方法をどうするべきでしょうか? 先頭に数を指定する方法をとるべきですか? RSSの保存はcronでおこなっているので不要かと思います。 これらのページでRSSを保存する必要がでてきたのでしょうか。

php_learn
質問者

補足

回答が分かりにくく申し訳ありません。 下記のコードは検索、アーカイブ、カテゴリーすべてにあるものなのですが、front-page.phpのように ページの先頭にカスタムフィールドを選別する配列がないと機能しません。先頭に同じように書くべきでしょうか? <?php $tn = 1; $tk = get_template_key($tn); ?> ----変更前 $url = home_url("{$y}/{$m}"); ----変更後 $url = home_url("{$y}/{$m}/?tn={$tn}"); ---- ----変更前 カテゴリーランキング <a href="<?php echo get_term_link($term); ?>" width: 97px;height: 130px;> ----変更後 <a href="<?php echo get_term_link($term)."?tn={$tn}"; ?>" width: 97px;height: 130px;> ---- ----変更前 記事一覧のカテゴリー echo "<a href=\"{$category->category_link}\">{$category->cat_name}</a>"; ----変更後 echo "<a href=\"{$category->category_link}\?tn={$tn}\">{$category->cat_name}</a>"; ---- ---- <input type="text" placeholder="ブログ内を検索 (search)" name="s" class="searchfield" value="" /> <input type="hidden" name="tn" value="<?php echo $tn; ?>"> ---- ・ ・ ・ etc

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.79

【コードまとめ その7】 ・検索欄をCSSの都合上、新たに作り直したのですが$urlにつなぐ必要はありますでしょうか? 質問文がアーカイブページへのリンクURLの説明とともに書かれていますが、以下のコードは検索には関係ありません。 ---- $url = home_url("{$y}/{$m}/?tn={$tn}"); ---- 検索ページへは以下のコードで送信するのでURLは関係ありません。 ---- <input type="hidden" name="tn" value="<?php echo $tn; ?>"> ---- ・確認ですが、$urlというのは$url = get_permalink($pid);のことでしょうか? 変更前のコードはこう書きました。 アーカイブページへのリンクURLのことです。 ---- $url = home_url("{$y}/{$m}"); ----

php_learn
質問者

補足

修正致しました。ありがとうございます。

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.78

【コードまとめ その6】 それでは、画像1~3のどのテンプレートから遷移してきたかを、archive.php、category.php、search.phpで識別する方法についてです。 archive.phpとcategory.phpはリンクで遷移するのでURLに情報を付加して渡す方法。 search.phpはsubmitで遷移するのでinputタグで情報を送信する方法です。 それぞれの遷移先では、$_GETから情報を取り出します。 ページ番号のチェックやページナビなどについてのコードのまとめの話しは、この遷移が質問者さまの環境でうまく動作してから進めたいと思いますが、以下の変更はそれを見越しての準備処理にもなっています。 説明の順序によってはわかりにくいかも知れませんので何度か読み返してください。 まずは、functions.phpに関数をひとつ追加します。 テンプレート番号を渡すと、画像1~画像3のカスタムフィールドのキー名を返すものです。 処理内容はget_rss_table_name()とほぼ同じですので、その直前か直後に定義しておいた方がいいと思います。 ---- function get_template_key($template_number) { if (1 == $template_number) { $template_key = 'single_rss_feed1'; } elseif (2 == $template_number) { $template_key = 'double_rss_feed2'; } elseif (3 == $template_number) { $template_key = 'triple_rss_feed3'; } return $template_key; } ---- つぎに、front-page.phpです。 ひとつめ。 自分のテンプレート番号とカスタムフィールドのキー名を変数に設定します。 $tnがテンプレート番号、$tkがキー名で先ほどの関数を使って取得します。 一番最初に設定しておきたいので、この位置でいいと思います。 ---- <?php /* Template Name: 画像1タイトル1 Template Post Type: post */ $tn = 1; $tk = get_template_key($tn); ?> ---- page-secound.phpでは$tnに2を、page-third.phpでは$tnに3を設定するだけで、その他のコードはほとんど同じになってきます。 唯一違うRSSと記事の表示処理を除き、front-page.phpをコピーして作り直してもいいくらいになっていくと思います。 ふたつめ。 アーカイブページへのリンクURLで自分のテンプレート番号を渡すようにします。 ----変更前 $url = home_url("{$y}/{$m}"); ----変更後 $url = home_url("{$y}/{$m}/?tn={$tn}"); ---- みっつめ。 カテゴリーページへのリンクURLで自分のテンプレート番号を渡すようにします。 カテゴリーページへのリンク処理は2か所あります。 ----変更前 カテゴリーランキング <a href="<?php echo get_term_link($term); ?>" width: 97px;height: 130px;> ----変更後 <a href="<?php echo get_term_link($term)."?tn={$tn}"; ?>" width: 97px;height: 130px;> ---- ----変更前 記事一覧のカテゴリー echo "<a href=\"{$category->category_link}\">{$category->cat_name}</a>"; ----変更後 echo "<a href=\"{$category->category_link}\?tn={$tn}\">{$category->cat_name}</a>"; ---- よっつめ。 検索ページへ送信するコントロールを追加します。 1行目はもともとある行で、その下に追加してください。 ---- <input type="text" placeholder="ブログ内を検索 (search)" name="s" class="searchfield" value="" /> <input type="hidden" name="tn" value="<?php echo $tn; ?>"> ---- いつつめ。 直接'single_rss_feed1'を書いているところなどをパラメータや変数にします。 ----変更前 週間カテゴリーランキング AND meta_value = 'single_rss_feed1' 省略 $query = $wpdb->prepare($sql); ----変更後 AND meta_value = %s $query = $wpdb->prepare($sql, $tk); ---- ----変更前 年月別アーカイブリストを取得する meta.meta_key = 'single_rss_feed1' 省略 $query = $wpdb->prepare($sql); ----変更後 meta.meta_key = %s $query = $wpdb->prepare($sql, $tk); ---- ----変更前 週間ランキング 'meta_key' => 'single_rss_feed1', ----変更後 'meta_key' => $tk, ---- ----変更前 RSSテーブル名取得 固定値1を書かず変数に $rss_table_name = get_rss_table_name(1); ----変更後 $rss_table_name = get_rss_table_name($tn); ---- ----変更前 投稿読み込み 固定値1を書かず変数に $posts_per_group = 1; // 投稿グループあたり投稿件数 省略 'meta_key' => 'single_rss_feed1',/*カスタムフィールドのフィールド名*/ ----変更後 $posts_per_group = $tn; // 投稿グループあたり投稿件数 省略 'meta_key' => $tk,/*カスタムフィールドのフィールド名*/ ---- これは投稿件数を意味する変数ではないけど、一致している値なので都合がいいかなと思います。 それか、これもファイルの先頭で定義した方がよかったような気がしないでもないです。 つぎに、archive.phpです。 ひとつめ。 ファイルの先頭に$_GETから取り出す処理を追加。 $yと$mはもともとある処理ですので、その下に$tnと$tkを追加してください。 ---- <?php $y = get_query_var('year'); $m = get_query_var('monthnum'); $tn = $_GET['tn']; $tk = get_template_key($tn); ?> ---- ふたつめ。 ----変更前 検索全件件数取得 meta.meta_key = 'single_rss_feed1' 省略 $query = $wpdb->prepare($sql, $date_query, $date_query); ----変更後 meta.meta_key = %s $query = $wpdb->prepare($sql, $tk, $date_query, $date_query); ---- みっつめ。 週間カテゴリーランキング、RSSテーブル名取得、投稿読み込み、について、front-page.phpと同じようにしてください。 つぎに、category.phpです。 ひとつめ。 ファイルの先頭に$_GETから取り出す処理を追加。 ---- <?php $tn = $_GET['tn']; $tk = get_template_key($tn); ?> ---- ふたつめ。 週間カテゴリーランキング、RSSテーブル名取得、について同じようにしてください。 だいたい変更の仕方がわかってきたと思いますので、search.phpは書きません。 同じようなところを探して同じように変更してみてください。

php_learn
質問者

補足

【コードまとめ その6】 それでは、画像1~3のどのテンプレートから遷移してきたかを、archive.php、category.php、search.phpで識別する方法についてです。 archive.phpとcategory.phpはリンクで遷移するのでURLに情報を付加して渡す方法。 search.phpはsubmitで遷移するのでinputタグで情報を送信する方法です。 それぞれの遷移先では、$_GETから情報を取り出します。 A.詳しい説明ありがとうございます。 つぎに、front-page.phpです。 ふたつめ。 アーカイブページへのリンクURLで自分のテンプレート番号を渡すようにします。 ----変更前 $url = home_url("{$y}/{$m}"); ----変更後 $url = home_url("{$y}/{$m}/?tn={$tn}"); ---- A.検索欄をCSSの都合上、新たに作り直したのですが$urlにつなぐ必要はありますでしょうか? 検索欄とボタンを横に並べたいため、切り離しました。 <form method="get" id="searchform" class="searchform" action="<?php echo home_url('/'); ?>"> <div class="text-block"> <div class="text-form"> <input type="text" placeholder="ブログ内を検索 (search)" name="s" class="searchfield" value="" /> <input type="hidden" name="tn" value="<?php echo $tn; ?>"> </div> <div class="form-bottom"> <input type="submit" value="Q" /> </div> </div> </form> 確認ですが、$urlというのは$url = get_permalink($pid);のことでしょうか? search.php,archive.php,category.phpのRSS保存についてお聞きしたいのですが、こちらは指定方法をどうするべきでしょうか? 先頭に数を指定する方法をとるべきですか? // RSSの保存 引数(接続オブジェクト、テンプレート番号)戻り値(RSSテーブル名) $rss_table_name = get_rss_table_name(2); /*var_dump($rss_table_name);*/ $posts_per_group = 1; // 投稿グループあたり投稿件数 meta_keyは本来使えないテーブルだったと思うのですが、配列を外から渡すことで間接的にフィールドで絞ることが可能なのでしょうか? $query = $wpdb->prepare($sql, $tk,"%$search_query%", "%$search_query%", "%$search_query%", $posts_offset, $posts_per_page); 初めに配列を渡す前提に修正頂いているのですが、検索、アーカイブ、カテゴリーも配列を渡して3パターンファイルを作成します。 意見の食い違いが出てはいけませんので、お伝えしておきます。 ファイル構成は12ファイル+固定ページです。 $tn = 1; $tk = get_template_key($tn); 心配でしたので、先に2ファイルのみ提示いたしました。 ※front-page.phpとsearch.phpのみ https://wandbox.org/permlink/20FcYd6ro05skPkP

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.77

・front-page.phpに下記の画像をhtmlでおいていただいて試していただくことは可能でしょうか? page-secound.phpやpage-third.phpへのURLはわかりますか。

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.76

・ランダム表示は今の件数のままがいいのですが、4件で可能でしょうか? 件数のことではなくて、画像数の話しです。 画像1~画像3のテンプレートに合わせるかどうかです。 とりあえずなにもしない方向でほっときます。 front-page.phpのヘッダーのランダム記事にpage-secound.phpやpage-third.phpの記事が出るだけですので。

php_learn
質問者

補足

回答ありがとうございます。 想定ではすべての記事のランダムとして考えております。

  • dell_OK
  • ベストアンサー率13% (740/5640)
回答No.75

・'post-thumbnail'というのは消しても問題ないでしょうか? 問題ないと思います。 どのような問題があると想定された質問かわかりませんので問題ないとしか言えません。 少なくともサイズを指定したい場合は消すしかありません。 ・こちらを削除しますと大きさの指定がPHPで出来るのですが、画像の大きさを維持したまま出力するコードでしょうか? 'post-thumbnail'があると、画像の 元の 大きさを維持したまま出力するコードなのか、と言う質問でしょうか。 それはわかりません。 ドキュメントには「set_post_thumbnail_size() を使って設定したサイズ」としか書かれておらず、これで設定していない場合の説明はありません。 もしかしたら元の大きさなのかも知れませんし、小さい画像は大きくなるとか、大きい画像は小さくなるとか、そのような仕組みがあるかも知れません。 'post-thumbnail'の言葉の意味からすると、投稿された画像の大きさ、なのかも知れません。

php_learn
質問者

補足

回答ありがとうございます。 変更して実装してみて不具合がありましたら戻して、cssで大きさの変更を行います。

関連するQ&A

  • WordPressの固定ページの要素が反映されない

    WordPressの固定ページのタイトル、サイドバー、アイキャッチ画像などが表示されません。 「FeedWordPress」というプラグインを使ってRSSフィードを読み込んで他人様の投稿を表示させるページを作っています。いわゆるアンテナサイトです。 まず、固定ページを作りました。そしてその固定ページに自動で集めた他人様の投稿を表示させるようにしました。しかし何かが干渉しているのか、固定ページのタイトルが出てきません。イメージとしましては、 ------------------------------ ○○アンテナ ←←←固定ページのタイトルなどが出てきません ・RSSフィード読み込み記事1 ・RSSフィード読み込み記事2 ・RSSフィード読み込み記事3 ・RSSフィード読み込み記事4 ------------------------------ また、同時に固定ページの編集のところでサイドバーを指定したりアイキャッチ画像を入れたりしているのですが、どちら出ません。 変な表現ですが、固定ページの要素全てががFeedWordPressに負けてしまっている状態のようです。ちなみにRSSフィードで集めた投稿は画像やタイトルや本文ともにきれいに表示されています。Googleなどで三日三晩調べても解決に至りませんでした。また管理者ページの[外観]→[カスタマイズ]もとことん隅から隅まで確認しましたが解決できませんでした。 稚拙な表現ですが、どなたかご教授お願い致します。

  • WordPressについての質問です

    wordpressを始めました。 投稿記事のタイトルの下にある日付と投稿者にそれぞれブログ記事へのリンクが貼られますが、 このリンクを解除することは可能でしょうか?

  • WordPressの質問(q10032703)の続

    該当コードからmeta_keyに当てはまる記事を出力したいが、記事が何も表示されない。 function set_template_info() { global $tn; global $tk; global $rss_table_name; global $current_page; $tn = get_template_number(); $tk = get_template_key($tn); $rss_table_name = get_rss_table_name($tn); $current_page = get_current_page(); } function get_template_number() { global $template; $template_number = $_GET['tn']; switch ($template_number) { case '2': break; case '3': break; default: switch (pathinfo($template, PATHINFO_FILENAME)) { case 'page-secound': $template_number = 2; break; case 'page-third': $template_number = 3; break; default: $template_number = 1; } } return $template_number; } function get_template_key($template_number) { if (1 == $template_number) { $template_key = 'single_rss_feed1'; } elseif (2 == $template_number) { $template_key = 'double_rss_feed2'; } elseif (3 == $template_number) { $template_key = 'triple_rss_feed3'; } return $template_key;

    • ベストアンサー
    • PHP
  • wordpressのリンクについて質問があります。

    wordpress初心者です。 wordpressで相互リンクを管理するHPの管理画面を作成したいのですが よくわかりません・・・ いろいろ調べてみたのですが、 wordpressにログイン後管理ページのダッシュボードにて 「リンクからリンク集の作成ができる」と調べていたらわかったのですが、 そもそもログイン後からダッシュボードを見ても「リンク」がありません。 上からダッシュボード、投稿、メディア、固定ページ、コメント、外観、 プラグイン、ユーザー、ツール、設定と順番に並んでいます。 初期設定を2,3回しましたが解決できませんでした・・・ リンク集を作成したいのでダッシュボードの「リンク」を表示する方法を 知っていいる方は教えて頂けませんか? よろしくお願いします。

    • 締切済み
    • PHP
  • FC2 ブログ 記事をカスタマイズしたいです

    FC2ブログ始めました。 テンプレは3カラムを使用してます。 真ん中にコメント記事がでますが、その記事上部にフリーエリアを作り、そこに広告バナーを固定してます。 ページが変わっても、フリーエリアはそのまま一番上です。 で、その広告を囲んだり、詳細を記載したいのですが、ググってもわかりませんでした。 言葉では、分かりづらいと思いますので、画像を添付しました。 画像のように、幾つもの広告バナーを一つ一つ枠で囲み、詳細を下に記載したいと思います。 どこかに無料テンプレートを配布してるサイトとか、説明してるサイトがありましたら教えてください。

  • WordPress3での投稿記事一覧

    WordPress3の勉強を始めました。 インストールして、最初のページで、 「Hello world!」となり、 投稿記事 の一覧になります。 トップページで、 投稿記事 の一覧 を削除する方法がわかりません。 WordPress3の管理画面を見ても、該当する部分がわかりません。 ちなみに、 トップページは、サイドバーのウィジェットを使うだけで、 インストールした時に、投稿記事になっていた部分は、 画像などにしたいと思っております。 投稿記事は、トップページからリンクを張り、 2ページめにしようと思っております。 よろしくお願いします。

  • wordpressの予約投稿の日付とRSSの日付

    wordpress4.3.1を使用しています。 予約投稿をしたのですが、wordressの投稿のRSSでは日付が予約投稿をした日付ではなく、記事を入力した日付で取得されてしまいました。外部サイトへRSSのfeedを読み込んで記事タイトルと日付を表示させる都合上、日付は予約投稿した日でも表示させたいと思います。 (現状は添付画像ご確認よろしくお願いいたします。) どうすればよろしいでしょうか。よろしくお願いいたします。

    • 締切済み
    • CSS
  • WordPressの質問(q10006002)の続

    前後の記事のコメント欄を標示する方法がわかりません。 <?php $team = get_post_meta($post->ID, 'team', true);//赤、青、緑のチームに分ける // 投稿オブジェクトの取得 if ('red' === $team) { $post_red = $post; // 赤(現在) $post_blue = get_adjacent_post(true, '', false); // 青(現在の次) $post = $post_blue; // 現在を青に置きかえる $post_green = get_adjacent_post(true, '', false); // 緑(現在の次:青の次) $post = $post_red; // 現在を赤に戻す } elseif ('blue' === $team) { $post_blue = $post; // 青(現在) $post_red = get_adjacent_post(true, '', true); // 赤(現在の前) $post_green = get_adjacent_post(true, '', false); // 緑(現在の次) } elseif ('green' === $team) { $post_green = $post; // 緑(現在) $post_blue = get_adjacent_post(true, '', true); // 青(現在の前) $post = $post_blue; // 現在を青に置きかえる $post_red = get_adjacent_post(true, '', true); // 赤(現在の前:青の前) $post = $post_green; // 現在を緑に戻す } /*$post_thumbnail_id = get_post_thumbnail_id($post);//画像の投稿データから画像IDを取得する ※おそらくいらない */ $red_post_thumbnail_id = get_post_thumbnail_id($post_red);//赤、青、緑の投稿データから前後の画像IDを取得する $blue_post_thumbnail_id = get_post_thumbnail_id($post_blue); $green_post_thumbnail_id = get_post_thumbnail_id($post_green); $red_post_image_src = wp_get_attachment_image_src($red_post_thumbnail_id);//赤、青、緑の投稿データから前後の画像URLを取得する $blue_post_image_src = wp_get_attachment_image_src($blue_post_thumbnail_id); $green_post_image_src = wp_get_attachment_image_src($green_post_thumbnail_id); /*$post_id = post_id ($post_red,$post_blue,$post_green);*/ ※$argsで設定済みなので多分必要ない // コメントオブジェクトの取得 $args = [ 'author__not_in' => '1', // 管理者を除く 'status' => 'approve', // 承認済み 'type' => 'comment', // コメント ]; $args['post_id'] = $post_red->ID; // 赤のID $comments_red = get_comments($args); // 赤のコメント $args['post_id'] = $post_blue->ID; // 青のID $comments_blue = get_comments($args); // 青のコメント $args['post_id'] = $post_green->ID; // 緑のID $comments_green = get_comments($args); // 緑のコメント // コメントの表示 if (empty($comments_red)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_red as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; } if (empty($comments_blue)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_blue as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; } if (empty($comments_green)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_green as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; }

    • ベストアンサー
    • PHP
  • WordPressについて

    WordPressに関する質問です。 サイトにプロフィールを掲載しようと思い、 プロフィールを固定ページとして投稿しました。 固定ページを投稿する際にパーマリンクが http://・・・・・/プロフィール となっていましたが 公開した固定ページのURLを見てみると http://・・・・・/2%5#36% というような数字の羅列したURLになっていました。 URL設定自体は数字ベースに設定しているので 数字ベースのURLになったと思うのですが、 パーマリンクとURLというのは違うものなのでしょうか。 wordpressを使い始めてまだ間もないので この類の詳しいことまで教えていただけるとうれしいです。 よろしくお願いします。 ※OKWaveより補足:「富士通FMV」についての質問です。

  • ワードプレス(WordPress) RSS magpierss 日付

    ワードプレス(WordPress)のRSSを、他のサイトで取得するため にmagpierssを入れてるのですが、日付がうまく取得(表示) できません・・。教えてください・・。 ◆ワードプレス側のRSSは、固定カテゴリーです。 アドレス?feed=rss2&cat=3 ◆magpierss では、ブログタイトルは取得しないので 記事のタイトルと、日時だけ取得したいと想っています。 前略・・ $count = 1; // ↓ブログタイトル↓ // echo "<h2>$title</h2>\n"; //echo "<dl>\n"; // ↓記事6個まで↓ foreach ($rss->items as $item ) { if($count < 6){ $count++; // 記事のタイトル $title = $item['title']; // 表示する文字数を制限する 10文字 $title = mb_strimwidth($title, 0, 50, "...", "UTF-8"); //$title = mb_convert_encoding($title, "UTF-8", "auto");   記事の要約   $desc = $item['description'];  $desc = $item['summary'];   $desc = mb_convert_encoding($desc, "UTF-8", "auto"); // 記事のURL $url = $item['link']; // 記事の投稿日時 2005/09/20/10:30:00形式 $date = $item['dc']['date']; $time = rtrim("$date","\+09:00"); $time = strTr("$time","T-","//"); // 記事の投稿日時 09/20形式 $date2 = substr($item['dc']['date'],5,5); $time2 = strTr("$date2","T-","//"); // 記事の投稿日時 10:30形式 $time3 = date( 'H:i', strtotime( substr( $item['dc']['date'],11,8 ) ) ); // 出力形式選択 echo " <ul> <li> <a href=\"$url \">$title</a>$time</li> </ul>"; } } // 出力形式選択↑ループ ?>

    • ベストアンサー
    • PHP

専門家に質問してみよう