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/5645)
回答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/5645)
回答No.24

【cron その7】 ・cronの負荷を確認したいのですが、下記のコードで調べることは可能でしょうか? それが負荷かと聞かれたら微妙ですが、どれくらい時間がかかっているかはわかると思います。 ただ、このような調査では桁を丸めなくてもいいと思います。 1分間隔で実行するのはよくないと思います。 1分以内に処理が終了しなかったらどうなるかわかりません。 以前は大丈夫だったかもしれませんが、それはテーブルがひとつのときだったのではないでしょうか。 今はテーブルがよっつですから、単純に四倍の時間がかかります。 現在は各テーブルのRSSサイトはみっつですが、これが増えるとさらに時間がかかります。 カラフルボックス側で、高負荷のユーザーに制限をかけているかも知れませんので、そのような通知が届いていないか確認してください。 通知なしで制限されているかも知れません。 利用規約になにか書かれているかも知れませんのでそちらも確認してください。 そもそもそんなに最新のRSSを取得したい理由がわかりません。 各RSSサイトの一日当たりの件数は多くて10件です。 RSSサイトにアクセスして新着記事がある確率は10件/24時間です。 1件/2.4時間になります。 そうすると取得サイクルは二時間に一回でも十分なほどです。 分にすると、1件/144分です。 144分に1件の確率に対して、1分間隔で実行すると、143回ははずれということです。 これほど無駄なことをしてまで最新を取得する必要があるのでしょうか。 今度は逆に考えてみます。 もし仮に1分間隔で新着があるRSSサイトがあったとします。 1分間隔で取得する意味が出てきます。 そうすると今度はデータ量が膨大になるので早めに捨てる必要がでてきます。 300件程度あれば十分というお話しだったと思うので、3サイトだとすると1時間後にはいらないデータと言うことになります。 1時間でいらなくなるデータにどれほどの意味があるかということになります。 ある人が見た時にあった情報が、1時間後に別の人が見た時にはなくなっていた、としたら、情報の共有性が欠如してきます。 1分間隔で新着とは、あまりにも大げさにしてしまいましたが、このバランスを考えることで、適切な間隔がわかってくるような気がします。 30分前にはなかった情報が、今は配信されているかも知れない、ということはおおいにあります。 1分前でもそれは同じことですが、もしそれが30分でも1時間でもしばらくの間取得しなかったとして、それが問題になるようなことでしょうか。 RSSの仕組みは私にはわかりませんが、新着だけを配信してくれる機能があれば、短い間隔で取得しても問題はないのかも知れません。 もしかしたら日時を指定することができるのかも知れませんが、そのような情報はないのでしょうか。 ・cronの実行タイミングを30分ごとに調節してみて負荷が軽減される事はないと思うのですが、実行タイミングを遅らせても一度にかかる負荷は同じですよね… 一度にかかる負荷は同じですね。 ですが、分散させることはできます。 例えば、今は一回の実行で4テーブルを処理していますが、それを一回の実行では1テーブルしか処理しない方法です。 cronの設定をテーブルごとに設定します。 それぞれの設定には、コマンドライン引数を使ってどのテーブルを処理するか指定します。 パスは省略しますが、こんな記述です。 php storage_rss.php 1 後ろにスペースを空けて1とか2とかを書きます。 すると、変数$argvに配列として引数が渡されてきます。 $argv[0]は"storage_rss.php"が、 $argv[1]は"1"が入っています。 4テーブルの処理はひとつにして、$argv[1]を渡します。 ----変更前 storage_rss(1); storage_rss(2); storage_rss(3); storage_rss(4); ----変更後 storage_rss($argv[1]); ---- これで1テーブルについてしか処理しなくなります。 cronの設定は、以下のよっつになります。 php storage_rss.php 1 php storage_rss.php 2 php storage_rss.php 3 php storage_rss.php 4 同時に処理するとそれこそ負荷がかかりますので、開始時間を1分ほどずらして、等間隔に実行するようにしておけば、分散できると思います。

php_learn
質問者

補足

【cron その7】 ・cronの負荷を確認したいのですが、下記のコードで調べることは可能でしょうか? それが負荷かと聞かれたら微妙ですが、どれくらい時間がかかっているかはわかると思います。 ただ、このような調査では桁を丸めなくてもいいと思います。 A.1度エラー文が出ていないか確認してみます。 遅延が問題ならば遅れながらも取得できるはずですので、何かしらコード文でPHPバージョンエラーが起きているかもしれません。 カラフルボックス側で、高負荷のユーザーに制限をかけているかも知れませんので、そのような通知が届いていないか確認してください。 通知なしで制限されているかも知れません。 利用規約になにか書かれているかも知れませんのでそちらも確認してください。 A.cronでエラー文を取得してみます。 そもそもそんなに最新のRSSを取得したい理由がわかりません。 各RSSサイトの一日当たりの件数は多くて10件です。 RSSサイトにアクセスして新着記事がある確率は10件/24時間です。 1件/2.4時間になります。 そうすると取得サイクルは二時間に一回でも十分なほどです。 分にすると、1件/144分です。 144分に1件の確率に対して、1分間隔で実行すると、143回ははずれということです。 これほど無駄なことをしてまで最新を取得する必要があるのでしょうか。 A.もしtrisect_rss_feedからの取得を確認したい場合は、次のRSSがくるまで分からないということでしょうか? 現在のRSSはすぐに取得できるのでしょうか? RSSの仕組みは私にはわかりませんが、新着だけを配信してくれる機能があれば、短い間隔で取得しても問題はないのかも知れません。 もしかしたら日時を指定することができるのかも知れませんが、そのような情報はないのでしょうか。 A.RSSは大手アンテナサイトのクローラーでも最新の記事を巡回して取得して表示させる仕組みになっています。 URLからRSSを取得して記事が反映されていたらそれを取得して表示させます。 データベースを使わない方法もあるとアドバイスを頂いたこともありますが、今回は勉強のためにデータベースとcronを使う方法を選択しました。 ・cronの実行タイミングを30分ごとに調節してみて負荷が軽減される事はないと思うのですが、実行タイミングを遅らせても一度にかかる負荷は同じですよね… 一度にかかる負荷は同じですね。 ですが、分散させることはできます。 例えば、今は一回の実行で4テーブルを処理していますが、それを一回の実行では1テーブルしか処理しない方法です。 cronの設定をテーブルごとに設定します。 それぞれの設定には、コマンドライン引数を使ってどのテーブルを処理するか指定します。 パスは省略しますが、こんな記述です。 php storage_rss.php 1 後ろにスペースを空けて1とか2とかを書きます。 すると、変数$argvに配列として引数が渡されてきます。 $argv[0]は"storage_rss.php"が、 $argv[1]は"1"が入っています。 4テーブルの処理はひとつにして、$argv[1]を渡します。 ----変更前 storage_rss(1); storage_rss(2); storage_rss(3); storage_rss(4); ----変更後 storage_rss($argv[1]); ---- これで1テーブルについてしか処理しなくなります。 cronの設定は、以下のよっつになります。 php storage_rss.php 1 php storage_rss.php 2 php storage_rss.php 3 php storage_rss.php 4 同時に処理するとそれこそ負荷がかかりますので、開始時間を1分ほどずらして、等間隔に実行するようにしておけば、分散できると思います。 A.分散して負荷を軽減したいのですが、コマンドライン引数のパスとはcronのパスとは違うのでしょうか? /opt/cpanel/ea-php54/root/usr/bin/php /home/gtyaszhi/public_html/storage_rss.php

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

【投稿ページ その12】 ・下記コードはカテゴリーのクリック数を測るものだったのですが、 は削除しても問題ないのでしょうか? クリック数を測る、の意味がわかりませんが、削除して問題ありません。

php_learn
質問者

補足

カテゴリーのクリック数をカウントするcategory.phpの仕組みがわからないのですが、ファイルが切り替わった瞬間にカウントされるのか、下記のコードでコンテンツをカウントするのかどちらか理解できていません。 the_title(); the_content(); 以前まで下記のコードでsingle.phpをまとめていたのですが、1つにつなげておかないとカウントされないのではないかと考えておりました。 <?php if (is_single() && !is_user_logged_in() && !isBot()) { // 個別記事 かつ ログインしていない かつ 非ボット set_post_views_week(); // 週間アクセスをカウントする set_post_views_month(); // 月間アクセスをカウントする } the_title(); $content = get_the_content(); 省略 ?>

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

【投稿ページ その11】 ・single.phpをすべてechoでまとめる場合、広告部分はどうすればいいでしょうか?classを全体につけたい場合の出力方法が知りたいです。勉強のためにすべてechoで1まとめにして出力したいのでアドバイスよろしくお願い致します。 HTMLをそのまま'で括ったものをechoするだけです。 今回の広告に限って言うと、'で括るだけで大丈夫ですが、注意点があるので後で説明します。 ---- <?php echo '<script src="https://adm.shinobi.jp/s/ecf84559bdac801ad27c367fffbffe2f"></script>'; ?> ---- 全体的にPHPになるのでしたら、行ごとに<?php ?>を書くことはなくなります。 上下にある行ごとの<?php ?>は削除して、ひとつの<?php ?>の中にまとめてください。 例えばこうです。 ----変更前 <!-- 記事前半 --> <?php echo get_extended( $post->post_content )['main']; ?> <!-- RSS2 --> <?php echo $trisect_rss_feed[1];?> <!-- 広告 --> <script src="https://adm.shinobi.jp/s/ecf84559bdac801ad27c367fffbffe2f"></script> ----変更後 <?php /* 記事前半 */ echo get_extended( $post->post_content )['main']; /* RSS2 */ echo $trisect_rss_feed[1]; /* 広告 */ echo '<script src="https://adm.shinobi.jp/s/ecf84559bdac801ad27c367fffbffe2f"></script>'; ?> ---- 'で括ってechoにする注意点はHTMLに'が含まれていないことが前提になります。 HTMLの属性の値を指定する際の引用符には、"と'が使えます。 以下のふたつはどちらもまったく同じ動作をします。 <div class="abc"> <div class='abc'> どちらを使っても構わないことになっているため、どちらを使うかは作者の好みになっています。 どこかのサイトを参考にしてコピーしてきた際にはどちらを使われているか気を付けてみてください。 もしそれが'であった場合は"に置き換えてから、'で括ってechoしてください。 例えば参考サイトのものが以下のものだったとすると、手順はこうなります。 <div class='abc'> 1.'を"に置き換える。 <div class="abc"> 2.'で括る。 '<div class="abc">' 3.echoする。 echo '<div class="abc">'; もう一段階難しい話しがあって、HTMLに'と"の両方が使われている場合です。 例えばこんなものがあったりします、想像ですが。 <div onclick="alert('abc');"> HTMLの属性値はalert('abc');です。 これはJavaScriptで定義された関数alert()を実行するものです。 JavaScriptも引用符として'と"が使えます。 ここだけ見ればalert("abc");でもかまいません。 ですがHTMLと合わせてみるとそうはできません。 もし、こう書いたとします。 <div onclick="alert("abc");"> HTMLは"(開始の引用符)から次の"(開始と同じ引用符)までを属性値として判断します。 つまりその値は"alert("となり、それをJavaScriptして実行しようとすると不完全なためエラーになります。 なので、属性値のための引用符と、JavaScriptのための引用符を区別するために、それぞれが異なる引用符で書く必要があります。 そのような場合の書き方が先ほど書いたこれです。 <div onclick="alert('abc');"> 引用符を入れ替えて、こう書くこともできます。 <div onclick='alert("abc");'> 前置きが長くなりましたが、このような場合は'が含まれています。 これを単純に'で括ってechoにすることはできません。 仮にこう書いたとします。 echo '<div onclick="alert('abc');">'; PHPもHTMLと同じく、開始の引用符から、同じ引用符までをその値としてみなします。 つまり、 echo '<div onclick="alert(' ここまででechoの処理をしようとし、続きの、 abc');">'; を解釈できずにエラーになります。 この対策方法はいろいろあるとは思いますので、このような場合が出てきた時には調べてみてください。 それでと、classを広告全体につけたいとのことですが、以下のようにされればよろしいかと思います。 echo '<div class="">'; echo '<script src="https://adm.shinobi.jp/(省略)"></script>'; echo '<a href="//af.moshimo.com/(省略)'; echo '</div>';

php_learn
質問者

補足

【投稿ページ その11】 HTMLをそのまま'で括ったものをechoするだけです。 今回の広告に限って言うと、'で括るだけで大丈夫ですが、注意点があるので後で説明します。 'で括ってechoにする注意点はHTMLに'が含まれていないことが前提になります。 HTMLの属性の値を指定する際の引用符には、"と'が使えます。 以下のふたつはどちらもまったく同じ動作をします。 <div class="abc"> <div class='abc'> どちらを使っても構わないことになっているため、どちらを使うかは作者の好みになっています。 どこかのサイトを参考にしてコピーしてきた際にはどちらを使われているか気を付けてみてください。 もしそれが'であった場合は"に置き換えてから、'で括ってechoしてください。 A.理解できました。説明ありがとうございます。 例えば参考サイトのものが以下のものだったとすると、手順はこうなります。 <div class='abc'> 1.'を"に置き換える。 <div class="abc"> 2.'で括る。 '<div class="abc">' 3.echoする。 echo '<div class="abc">'; つまり、 echo '<div onclick="alert(' ここまででechoの処理をしようとし、続きの、 abc');">'; を解釈できずにエラーになります。 この対策方法はいろいろあるとは思いますので、このような場合が出てきた時には調べてみてください。 A.ありがとうございます。違いが分からなかったため助かりました。 それでと、classを広告全体につけたいとのことですが、以下のようにされればよろしいかと思います。 echo '<div class="">'; echo '<script src="https://adm.shinobi.jp/(省略)"></script>'; echo '<a href="//af.moshimo.com/(省略)'; echo '</div>'; A.echo'<a href="//af.moshimo.com/">'でいいでしょうか?

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

【投稿ページ その10】 ・記事が重複表示されるため変更が必要なようです。 先頭にある以下の部分は削除してください。 ---- the_title(); the_content(); ---- これより下にも、タイトルや分割した記事を表示する処理があります。 それで、重複表示されている、と思われているのではないでしょうか。

php_learn
質問者

補足

回答ありがとうございます 下記コードはカテゴリーのクリック数を測るものだったのですが、 the_title(); the_content(); は削除しても問題ないのでしょうか? <?php if (is_single() && !is_user_logged_in() && !isBot()) { // 個別記事 かつ ログインしていない かつ 非ボット set_post_views_week(); // 週間アクセスをカウントする set_post_views_month(); // 月間アクセスをカウントする } the_title(); the_content();

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

【RSS その41】 ・RSSがどうしても取得されないので確認してみたところstring(16) "trisect_rss_feed"と表示されております。 string(16)は、この文字列が16バイトです、と言う意味です。 データの件数ではありません。 テーブル名が変わったか、私が勘違いしてpage_rss_feedだと思っていたのですね。 テーブルを作り直したのでしたら、まだデータが入っていないだけではないでしょうか。 もう一度storage_rss.phpを実行してみてください。

php_learn
質問者

お礼

cronの負荷を確認したいのですが、下記のコードで調べることは可能でしょうか? cronの実行タイミングを30分ごとに調節してみて負荷が軽減される事はないと思うのですが、実行タイミングを遅らせても一度にかかる負荷は同じですよね… <?php $time_count_start = microtime(true); //ここから処理書く sleep(3); //ここまで $time_count_end = round( microtime(true) - $time_count_start, 4); echo "{$time_count_end} 秒"; ?>

php_learn
質問者

補足

回答ありがとうございます。 cronの実行で不可解なことがありまして、以前は1分ごとに実行していたらその都度メールが届いていたのですが、昨日実行すると途切れ途切れになっていて昨日の0時5分からは通知がまた途絶えております。 これの意味がよく理解できないのですが、もしかすると負荷に耐えきれていない可能性があります。

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

【投稿ページ その9】 get_the_divided_content()の方は、正規表現による分割がうまくできていないようでした。 新しい方法では前半後半が分割されるようになりました。 ・RSSについても懸念点があり2番目しか機能していないようです。 理由は分かりませんが、真ん中のRSS+広告のみ出力されております… 私の方ではRSSも問題なく表示されています。

php_learn
質問者

お礼

1点だけお聞きしたいのですが、single.phpをすべてechoでまとめる場合、広告部分はどうすればいいでしょうか?classを全体につけたい場合の出力方法が知りたいです。勉強のためにすべてechoで1まとめにして出力したいのでアドバイスよろしくお願い致します。 <!-- 広告 --> <script src="https://adm.shinobi.jp/s/ecf84559bdac801ad27c367fffbffe2f"></script> <!-- 広告 --> <!-- 広告 --> <a href="//af.moshimo.com/af/c/click?a_id=3493027&p_id=2312&pc_id=4967&pl_id=38392&guid=ON" rel="nofollow" referrerpolicy="no-referrer-when-downgrade"><img src="//image.moshimo.com/af-img/1762/000000038392.png" width="200" height="200" style="border:none;"></a><img src="//i.moshimo.com/af/i/impression?a_id=3493027&p_id=2312&pc_id=4967&pl_id=38392" width="1" height="1" style="border:none;"> <!-- 広告 -->

php_learn
質問者

補足

回答ありがとうございます。コードを確認したところfunctions.phpにスペルミスがあったので修正致しました。 下記コードのthe_content();を別のコードに書き換える必要があるのですが、$content = get_the_content();で代用可能でしょうか? 記事が重複表示されるため変更が必要なようです。 <?php if (is_single() && !is_user_logged_in() && !isBot()) { // 個別記事 かつ ログインしていない かつ 非ボット set_post_views_week(); // 週間アクセスをカウントする set_post_views_month(); // 月間アクセスをカウントする } the_title(); the_content(); ※参考サイト https://atelierroi.com/tecnicalnote/wpdesign/contentsplit/ https://www.4web8.com/2236.html ※該当ファイル https://wandbox.org/permlink/u4nNrCIJbayeBgOn

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

【ヘッダー その3】 ・a helfにclassが直接ついているように見えましたので、違和感を感じました。 aタグにclassを書くことはできます。 おそらくすべてのタグにclassは書けると思います。

php_learn
質問者

お礼

こちらが最新の質問になります。RSSがどうしても取得されないので確認してみたところstring(16) "trisect_rss_feed"と表示されております。 他の画像1タイトル1,画像2タイトル1,画像3タイトル1はすべてstring(15)となっており疑問です。 URLはすべて同じため16件取得されていることが不思議なのですが、何が原因だと考えられますでしょうか? データベースはtrisect_rss_feedで登録しております。 ※該当コード https://wandbox.org/permlink/4f3ydnei4LbfI113

php_learn
質問者

補足

ありがとうございます。勉強になりました。

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

【投稿ページ その8】 ・タイトルを忘れているときは非表示にしたい場合でもtrueなのでしょうか? falseだと表示したいときも表示できません。 falseとtrueの違いは、the_title()内でechoしてもらわないかしてもらうかです。 タイトルがない場合は、引数にしている<h2>タグも出力されないのでtrueで問題ありません。

php_learn
質問者

お礼

記事が重複表示される原因が特定できたのですが、the_content();のコードが原因のようです。 こちらのコードを消して、<!--more-->に対するコードを組む必要があります。 どうまとめればいいでしょうか? 途中でphpが切れてしまっているため、あとで1つのphpにまとめる予定です。 1つ先に聞いておきたいのですが、広告のhtmlやscriptをechoさせる場合どのように囲う必要があるのでしょうか? <?php if (is_single() && !is_user_logged_in() && !isBot()) { // 個別記事 かつ ログインしていない かつ 非ボット set_post_views_week(); // 週間アクセスをカウントする set_post_views_month(); // 月間アクセスをカウントする } the_title(); the_content(); ※参考サイト https://atelierroi.com/tecnicalnote/wpdesign/contentsplit/ ※該当ファイル https://wandbox.org/permlink/GVENhEqbxcYEdh1H

php_learn
質問者

補足

ありがとうございます。勉強になりました。

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

【投稿ページ その7】 ・RSSがなかなか格納されず待機しているのですが、RSSの格納タイミングはRSS元の記事が更新されて新たなRSSが反映されたときでしょうか? もしかしたらテーブル名が取得できていないのではないでしょうか。 エラーになっていないのが不思議ですが、もしそうであれば、functions.phpにも以下を追加してください。 ---- } elseif (4 == $template_number) { $rss_table_name = 'page_rss_feed'; ----

php_learn
質問者

お礼

こちらが最新の回答になります。 RSSについても懸念点があり2番目しか機能していないようです。 理由は分かりませんが、真ん中のRSS+広告のみ出力されております… https://imgur.com/CVWAoF0.jpg https://imgur.com/W5nvNCM.jpg $rss1の出力 バナー広告 記事前編 $rss2の出力 バナー広告 記事続編 $rss3の出力 コメント 前後の記事リンク

php_learn
質問者

補足

functions.phpの記述が抜けておりました。申し訳ありません。

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

【ヘッダー その2】 ・classのつけ方に違和感があるのですが、問題ないのでしょうか? classの前にあるたくさんの空白のことでしたら、ひとつの空白でいいと思います。

php_learn
質問者

補足

a helfにclassが直接ついているように見えましたので、違和感を感じました。 ※該当コード <!--リンククラス付きのコメント数を追加--> <?php $num_comments = get_comments_number(); if ($num_comments == 0) { $comments = ('No Comments'); // 댓글이 없을 경우 } elseif ( $num_comments > 1 ) { $comments = $num_comments . (' Comments'); // 댓글이 2개 이상일 경우 } else { $comments = __('1 Comment'); // 댓글이 1개일 경우 } $write_comments = '<span class="singlecomments"><a href="'.get_comments_link().'" class="count comment">'.$comments.'</a></span>'; echo $write_comments; ?>

関連する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

専門家に質問してみよう