記事の一覧(インデックス)ページ段階でもタグ表示を出す方法はあるでしょうか?

Simplicityの特徴 › フォーラム › Simplicityについての質問 › 記事の一覧(インデックス)ページ段階でもタグ表示を出す方法はあるでしょうか?

  • このトピックには12件の返信、2人の参加者があり、最後に芝 戒人により10年、 8ヶ月前に更新されました。
12件の返信スレッドを表示中
  • 投稿者
    投稿
    • #36040
      芝 戒人
      ゲスト

      Wordpressを始めて、まだ間もない初心者です。
      サイトを公開もしていない開発&勉強段階なのですが、お尋ねしたいことが出てまいりました。

      元々の開発環境ではTwentyfourteenだったのですが、途中からCimpicity1.9.3 安定版に乗り換えました。
      今後もCimpicityでやっていこうと思うのですが、その際にTwentyfourteenで重宝していたタグのある箇所が出なくなっており困っています。

      画像(Twentyfourteen時)

      具体的にはアップロードした画像(Twentyfourteen時)にあるように、記事の一覧(インデックス)ページ段階でもタグ表示を出したいのです。
      ※Twentyfourteenの時は特にCSSを弄ったり、プラグインを使って表示させたことはなく、デフォルトの機能だったようです。

      Cimpicityの場合、
      外観>カスタマイズ>レイアウト(投稿・固定ページ)
      の中にある
      「タグ情報の表示 本文フッター部分にあるタグ情報を表示するか」
      にチェックを入れて表示していますが、記事本文の最後に出てくるのであって、記事の一覧(インデックス)時に表示されるわけではないようです。

      Cimpicityでも同様の表示設定は可能でしょうか?

      ※恥ずかしながらCSSの高度なソースを組まなければならない場合、ハードルが高いようでしたら諦めます。

      こういった場所での質問も初めてにつき、訊き方も分かりづらいかもしれません。

      お手数ですが、何卒、よろしくお願い致します。

    • #36042
      Hidekichi
      ゲスト

      以前フォーラムにたった質問の解答サンプルとして作ったものを流用して、今回の質問の内容を反映させたサンプルです。
      サンプル: .post-mwtaのカテゴリーをリストアイテム最後尾に移動 | codepen

      Simplicityのデフォルトのリストアイテムは、サムネイルを左右どちらかに配置するために、タイトル部分などが表示されている.entry-caed-contentにmarginが入っています。デフォルトであれば左側にサムネイルが入る分のマージンが入ってます。

      これが邪魔をしてサムネイルの下にカテゴリをもってけないので、position: absolute;にて絶対配置にしています。
      そのまま絶対配置にすると「記事を読む」などに重なってしまうため、.entryのbottomに1.5emの余白を作りカテゴリーを入れてます。

      カテゴリの移動はjQueryで行っているのでPHPを特別イジる必要はありませんが、PHPの方をいじってもできます。

      と、仕組みを説明した所で、要素の移動なりスタイルはたいていの事はできますが、カテゴリ自体の表示位置を変えたいということで間違いはないですかね?
      それともカテゴリが表示されているのに気がついていないというだけではないですよね?
      Twentyfourteenのタグ表示はSimplicityでは投稿日の横に出てます。これを移動したいという内容の質問かを確認してから、どのようにすれば実装できるかを後で説明したいと思います。
      また表示自体をTwentyfourteenの付箋のようにもできますが、不要なfontAwesomeのアイコンが入っているので、これらを消す必要もあります。

    • #36050
      アバター画像わいひら
      キーマスター

      Simplicityは、インデックスリストには、タグは表示されない仕様になっています。
      なので、自前でentry-card-content.phpテンプレートにthe_tags()関数などを利用して、カスタマイズする必要があります。

      具体的に言うと、entry-card-content.phpのタグを表示させたいところに、以下のようなコードを挿入します。
      <?php the_tags( '<span class="tag"><span class="fa fa-tags fa-fw"></span>', ', ', '</span>'); ?>

      カテゴリの後だったら、<?php endif; //is_category_visible?>と書かれている後あたりに。

    • #36051
      Hidekichi
      ゲスト

      あ、タグでしたか(汗)

    • #36052
      Hidekichi
      ゲスト

      って自分でもタグって書いてレスしてるんですけど(笑)
      カテゴリと思い違いしてました(笑)

    • #36061
      芝 戒人
      ゲスト

      Hidekichiさん

      素早い返信ありがとうございます。
      今回、表示したいのはタグであり、表示箇所としては日付の横辺りで良いと思っています。
      タグの形もTwentyfourteenのようにできれば正しく理想です。
      頼ってしまって恐縮ですが、fontAwesomeのアイコンの消し方もお教え頂けますと助かります。

      わいひらさん

      具体的な返信ありがとうございます。
      まず、ご教授頂いた通りにentry-card-content.phpの中に指定コードを張り付け挿入してみました。
      挿入場所を幾つか試したのですが、特に表示が変わりませんでした。
      何か思い違いしていたり、挿入の仕方などで間違えやすいことなどありましたら、お教え頂けますでしょうか。

    • #36065
      Hidekichi
      ゲスト

      > fontAwesomeのアイコンの消し方もお教え頂けますと助かります。
      普通にセレクタをたどってdisplay: noneか、jQueryでremove()でしょうか。

      わいひらさんのスクリプトは以下のような感じでイケると思います。

      <div class="tags">
      <?php
        the_tags( '<ul><li>', '</li><li>', '</li></ul>' );
      ?>
      </div>

      ※ コード化されていると思いますが、その内わいひらさんが直してくれると思います。

      そのcss

      /*tags*/
      .entry .tags ul {
        display: flex;
        flex-flow: row wrap;
        justify-contnet: flex-start;
        margin: 0;
        padding: 0;
      }
      .entry .tags li {
        list-style: none;
        margin: 0 4px;
        color: #fff;
        background-color: #333;
      }
      
      .entry .tags li a {
        color: inherit;
      }

      タグっぽくするには、beforeなどで左向きの三角を入れてみたりとかですかね。

      表示サンプル: blazechariot-cloud9-

    • #36066
      Hidekichi
      ゲスト

      わいひらさんがコード直してくれる前に解説しておくと、

      the_tags の最初の引数部分は [ul][li] 真ん中は [/li][li] 最後が [/li][/ul]です。
      その前後にdivでclassを入れてtagsにしてます。これらをクォートで囲み、phpの開始タグ 終了タグが入っているだけです。
      上記の[]は半角〈〉と読み替えて下さい。

      entry-card-contet.phpの最後のdivの後に入れています。つまりは、.entry-card-contentの中身が少ないとサンプルのようにサムネイルよりも上になってしまいます。なので、その親になる.entryの高さをサムネイルと同じにするかちょっと大きめにして、

      .entry {
        position: relative;
        padding-bottom: 1.5em;
        height: 180px;
      }
      
      .entry .tags {
        position: absolute;
        bottom: 0; /*任意調整*/
        left: 0;
      }

      こんな感じにしたらイケるんじゃないでしょうか。試してないですけれども(笑)
      サムネイルの高さは150pxです。なので、同じにしてbottomに揃えると、サムネイルのそこにタグが揃います。なのでもう少し高くして180pxにしてありますが、ここらは要調整です。
      また.entryにposition: relativeを入れないと、absoluteした.tagsが画面下に飛んでいってしまうだろうと思うので注意して下さい。

      またレスポンシブを何も考慮してないので、それぞれのメディアクエリの時の動作を追記する必要があります。ここらはデベロッパーツールを調べながら色々と試してみて下さい。

    • #36073
      アバター画像わいひら
      キーマスター

      僕が書いた方法は、基本的にSimplicityのテーマカスタマイザーのレイアウト設定で「エントリーカード」を使用していないと表示されないと思います。
      設定については、書かれてなかったので、エントリーカードの方法を書きました。
      ただ、その他にも設定による要因があるかもしれないので、設定状態を見るためにも実際のインデックスページのURLを貼り付けてもらうことは可能でしょうか?

    • #36177
      芝 戒人
      ゲスト

      Hidekichiさん、わいひらさん

      返信遅れましてすみません。

      実は大変申し上げずらいのですが・・・お二人の言われていることがまるでナチの暗号のようです orz

      基本から分かっていないので恐縮なのですが、設定としてはエントリーカードは使用しています。

      ※カスタマイズ > 一覧リストのスタイル 内にある設定のことですね?
      「一覧(インデックス)ページの表示スタイル設定」はエントリーカード(デフォルト)
      になったままです。

      以下、URLになります。

      http://gw-test.link/

      ※色々と試す為の開発用のテストサイトです。
      多少、デザインを変えても同じ設定で公開します。

      少なくとも言われている内容を理解できるよう学びます。

    • #36182
      Hidekichi
      ゲスト

      どこらがわからないのかを書いてもらったら説明しますが、まずこれまでの内容をまとめると

      ・Simplicityではデフォルトでタグを出力する機能はない
      ・機能を追加するためにはwordpressの関数であるthe_tags()などを利用して任意の位置に挿入しないといけない
      ・挿入されたthe_tags()などは、デフォルトでhtmlを吐くだけなのでそれをスタイルする必要がある

      ここまでは良いでしょうか?

      the_tags(before,separate,after);
      the_tags();は、こんな引数(ひきすう)を持っています。わいひらさんの方法ではspanタグを使い、僕のではulとliでリストスタイルで書き出すと言うことしています。

      で、このthe_tags()をどこに書くかと言うのが例えば親テーマのentry-card-content.phpで、これはトップページの各記事のリストアイテムの1つ分のスクリプトが書いてあります。これを何回もその記事のデータで書き換えることでトップページのリストができています。他にも利用されているのがありますが簡略説明で。

      質問のTwentyfourteenのように、サムネイルの下にタグを出そうとした場合、このentry-card-content.phpの任意の箇所(表示したい場所)にthe_tags()を入れる必要があり、僕の礼なら、一番下に追記したら良い感じになります。

      わいひらさんのものにしても僕のにしてもclassを設定してありますから、それに対してスタイルしないといけません。これが「そのcss」で書いてある部分です。これは子テーマを利用している場合子テーマstyle.cssに書けば良いかと思います。

      ひとまずこれで、表示サンプルにアクセスしたようには表示できます。あとはそれを自分好みに修正することで色やフォントサイズ、その形状などを表示できるようになるという寸法です。

    • #36225
      アバター画像わいひら
      キーマスター

      申しわけないですが、今回のカスタマイズ方法を行うには、ある程度のWordpressカスタマイズの知識が必要かもしれません。
      「Wordpress カスタマイズ」で検索して出てくる記事をいくつか読んでいただくと、ある程度ならわかるかもしれません。
      でないと下手をするとエラー画面でサイトが表示できなくなる可能性もあります。

      僕やhidekichiさんが書かれていることが、ちょっとハードル高いなと思われたのなら、しばらくWordpress運営を行ったのち、ある程度Wordpressというものに慣れてからカスタマイズするとかの方が良いのかもしれません。

    • #36238
      芝 戒人
      ゲスト

      Hidekichiさん

      ご丁寧な解説、ありがとうございます。
      返信内容を調べながら把握しようとしていました。
      質問する前にまず基本を学びます。

      わいひらさん

      多忙の中、気を使って頂いた言葉、感謝します。
      まずはWordpressをもっとよく知るよう努めます。
      ありがとうございます。

      m(__)m

12件の返信スレッドを表示中
  • フォーラム「Simplicityについての質問」には新規投稿および返信を追加できません。
スポンサーリンク
アドセンス(大)
アドセンス(大)