wordpress

WordPress コメントをどうぞを消す

制作&管理しているhttp://kuulei90.com/

投稿カテゴリー「blog」「news」「photo」があります。
3つのページ全部にコメント出来るようにしてましたが、コメント出来るページを「blog」だけにしたいとの要望。

”固定ページー編集ー表示オプションーディスカッションにチェックを入れるーコメントの投稿を許可するのチェックを外す” で出来ます。簡単それだけ!

固定ページ一覧に入って「あれれ….?」photoの固定ページがない(newsとblogはある。&チェックが外れている)。photoページはサイトで表示されてるんだけど固定ページ一覧にない(なんでだ?投稿のカテゴリーにphotoはあります)。なので、今photoの固定ページをつくりました。そして、上記のように進みチェックを外しましたが、
「コメントはどうぞ」は消えません。

何か基本的に間違ってる気がしますが、分りません。

よろしくお願いします。

カテゴリー: 質問と回答 | タグ: | 投稿日: | 投稿者:
真中のぶ

真中のぶ について

The B.B.BoogieというバンドでVocalをしています。サーフィンもします。シングルフィンのクラッシックなロングボードに乗っています。ウェブデザイナーでもあります。タカハシ先生の一番弟子ですが時々すっとこどっこいな質問をして校庭10周と言われます。「パソコン倶楽部りんご」は僕が命名しました。ジョブズさんに敬意を表して。好きなcssはmargin{0 auto;}

WordPress コメントをどうぞを消す」への9件のフィードバック

  1. タカハシ先生タカハシ先生

    グローバルメニューのphoto、news、blogで表示されているのは、
    どれも「各カテゴリーに該当する投稿の一覧」です。
    使われるテンプレートは「category.php」で、そこにはコメント欄はありませんよね?

    そこから、個別の投稿に行くと、コメント欄が表示されます。
    その時に使われるテンプレートは「single.php」です。
    そのコードの中で、コメント欄を表示する為の「comments_template」を呼んでいる箇所があります。
    つまり、カテゴリーによって、single.phpの振る舞いを変えるようにすれば良いです。

    if文を使って、その投稿がblogカテゴリーの時だけ、
    「comments_template」を呼ぶ様に分岐させるのが良いでしょう。
    投稿が特定のカテゴリーに属しているか調べる為のWPの条件分岐タグは「in_category」です。
    あとは調べてやってみましょう。

    返信
    1. 真中のぶ

      なにやら難しそうですね。

      素朴な疑問です。
      blogとnewsのページは”固定ページー編集ー表示オプションーディスカッションにチェックを入れるーコメントの投稿を許可するのチェックを外す”という簡単な作業で済むのにphotoのページはphpをカスタムしなければならないのはなぜでしょうか?

      返信
      1. タカハシ先生タカハシ先生

        真中さんは勘違いをしています。
        作ったサイトの、グローバルメニューで行ける先のurlをよく良く確認しましょう。

        ?page_id=xxxとなっているのは「固定ページ」です。
        ?cat=xxxとなっているのは「そのカテゴリーに該当する投稿一覧」です。

        プラグインなどを入れる前に、その点を理解した方が良いです。

        返信
        1. 真中のぶ真中のぶ 投稿作成者

          本文に「何か基本的に間違ってる気がしますが、分りません。」
          と書いたように、良く分らなくなっています。

          最初サイトを作る際に固定ページ、投稿ページ、カテゴリー、そのあたりが良く分りませんでした。
          しばらく時間をおいたら、また混乱してしまってます。

          自分でもいろいろやってみますが、
          次回の勉強会で、お願いします。

          やらないと忘れるなあ~。

          返信
  2. 真中のぶ真中のぶ 投稿作成者

    勘違いは、解決しました。
    グローバルメニューにあるものは全て固定ページだと思っていました。
    固定ページは、文字通り固定のページ。
    kuulei90.comの場合news,blog,photoが投稿のカテゴリーでその他は固定ページ。
    グローバルメニューで横一列に見えているが、みんな同じじゃないんです。
    そこを勘違いしていました。、カテゴリーとして定義してあるので固定ページ一覧にあるnews,blog,photo、この3つは
    不必要なので削除しました。

    次にblog以外はコメント非表示にしようと思い、
    /*投稿ページのコメントを非表示*/
    .entry-header .comments-link {
    display:none;
    }
    をしたら、思った通り、投稿ページ全部が非表示になりました。
    blogだけは、表示させるには、やはりphpですかね?

    返信
  3. タカハシ先生タカハシ先生

    cssだけで表示をコントロールするなら、
    /*アーカイブ(一覧表示)の各投稿タイトルの下にある「X件の返信」を隠す*/
    .archive #content .comments-link { display: none; }
    /*ただし「blog」カテゴリーのそれは表示する*/
    .archive.category-blog #content .comments-link { display: block; }
    となります。

    templateをいじるなら、content.phpの、

    を、以下のように変えます。blogカテゴリーのスラッグが「blog」だとして、

    とします。「コメントが許可されていて、かつ、カテゴリーがblogなら、」という条件に変える訳です。

    単独の投稿ページのコメント欄を消したい時はsingle.phpの、

    を以下のように変更します。blogカテゴリーのスラッグが「blog」だとして、

    in_category()については以下を参照のこと。
    http://elearn.jp/wpman/function/in_category.html

    返信
  4. 真中のぶ真中のぶ 投稿作成者

    まず全体をdisplay: none;しておいて、
    .archive.category-blog について、上書きすると言う事ですね。
    書く順番に注意ですね。

    とりあえず、安全なcssでやってみたら、出来ました。

    in_category()は、今回使わなくても今後の為に勉強しておきます。

    ありがとうございます。

    返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA