「Event Organiser」で作成したイベントページの投稿日を非表示にしたい

Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 「Event Organiser」で作成したイベントページの投稿日を非表示にしたい

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

      いつもお世話になっております。
      Simplicity2.0.2を利用させていただいております。

      「Event Organiser」というプラグインでイベントカレンダーを作成し、
      サイト上に表示しているのですが、
      h1タイトルの下に記事の投稿日が表示されてしまい、カレンダーに登録した日付と混同して表示されており分かりづらい表記になってしまっているので、
      投稿日を削除したいと思っています。

      http://wp-simplicity.com/suport/topic/%E5%9B%BA%E5%AE%9A%E3%83%9A%E3%83%BC%E3%82%B8%E3%80%81%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%BC%E3%81%AE%E6%97%A5%E4%BB%98%E9%9D%9E%E8%A1%A8%E7%A4%BA%E3%81%AB/

      http://wp-simplicity.com/suport/topic/topic-0-5/

      検索したところ似たような内容のトピックがあったので試してみましたが改善しませんでした。

      どのように修正すればよいか、ご教授いただければ幸いです。
      よろしくお願い致します。

    • #35798
      Hidekichi
      ゲスト

      投稿日だけなら、

      .post-meta .post-date {
        display: none;
      }

      でいいんじゃないでしょうか?
      投稿日、更新日、カテゴリーなどを含む一式なら、

      .post-meta {
        display: none;
      }

      あるいは、

      .article header .post-meta {
        display: none;
      }

      とか。最終的にどうなって欲しいかがわかると良いのですが、文面からだけだと投稿日がなければ良いみたいなので.post-dateを非表示にすればよいのではないかと思います。Simplicityの2系統は基本子テーマstyle.cssでほとんど上書きできます。

    • #35802
      bassy
      ゲスト

      Hidekichiさま
      ご助言ありがとうございます。

      言葉足らずで申し訳ありません。
      Hidekichiさまが書いていただいた方法で確かに投稿日は消えるのですが、
      「ブログ記事の投稿日」は残したままで、「Event Organiserで作成したイベントカレンダーの記事の投稿日」のみ消したいと思っています。
      (固定ページの投稿日は消してブログ記事の投稿日は残す、のようなイメージです。)

      果たしてそんなことが可能なのかどうか、
      恐れ入りますがよろしくお願い致します。

    • #35804
      Hidekichi
      ゲスト

      Event Organiserが動作している状態で、該当箇所のセレクタを調べます。仮に.testとしておきます。
      次にEvent Organiserがどこで読み込まれているかを調べます。

      おそらくプラグインなので、cssの後、もしかするとjsファイルよりも後も知れません。もしそうであれば、header-insert.phpに

      [style]
        .test {
          display: none; /*もしくは!importantをつける*/
        }
      [/style]

      ※ []は半角〈〉を書き換えています。

      こんな感じでどうでしょうか?
      どこで動作して、どのタイミングで読み込んでいるかにもよりますが、例えばjQueryで

      (function($){
      $(function(){
      $(“.test”).remove();
      });
      })(jQuery);

      とかもいけるかも。ただしjQueryの場合は一瞬チラツキが出るかも知れません。まぁ何にせよ、cssで書かれていたりしているのであれば消すことは可能です。
      問題は、

      [div class=”test” style=”なんちゃら”]

      このようにタグに直接スタイルしてある場合は、その部分が抜けることで何かしら他に影響が出るかも知れないあるいはcssで上書きできないと言うこと場合があります。

      [div class=”test” style=”display: block;”]

      こうなっていると、cssでは上書きできないかも知れません。このような場合は、jQueryで消すか、css側で!importantが必須になります。

      [div class=”test” style=”display: block !important;”]
      このような凶悪な仕様の場合は、jQueryあるいはjavascriptで、このstyleを消してしまう必要があります。まぁ消すの自体は簡単ですが、色々と問題があるかも知れません。

      $(“.test”).removeAttr(“style”);

      これで消せます。

    • #35821
      bassy
      ゲスト

      Hidekichiさま
      ありがとうございます。

      該当箇所のソースはこのような感じになっていました。

      <div id="post-***" class="post-*** event type-event status-publish hentry">
        <article class="article">
          <header>
          <h1 class="entry-title">
                  記事タイトル</h1>
          <p class="post-meta">
                  <span class="post-date"><span class="fa fa-clock-o fa-fw"></span><time class="entry-date date published updated" datetime="2015-08-29T10:11:58+00:00">2015/8/29</time></span>
      <span class="post-tag"></span>

      上記の中の「2015/8/29」の部分を消したいと思っています。

      jQueryはいじったことがないので、cssでなんとかなれば有難いです。
      ご助言いただければ幸いです。よろしくお願い致します。

    • #35822
      bassy
      ゲスト

      表示が思いっきり崩れてしまいました。申し訳ありません。

      <div id=”post-****” class=”post-**** event type-event status-publish hentry”>
      <article class=”article”>
      <header>
      <h1 class=”entry-title”>
      記事タイトル</h1>
      <p class=”post-meta”>
      <span class=”post-date”><span class=”fa fa-clock-o fa-fw”></span><time class=”entry-date date published updated” datetime=”2015-08-29T10:11:58+00:00″>2015/8/29</time></span>
      <span class=”post-tag”></span>

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

      実際に試してはないですが、こんな感じで良いのではないかと思います。

      .type-event .post-date{
        display: none;
      }

      これでうまくいかない場合は、URLを掲載していただいて、ソースを見せていただけると助かります

    • #35824
      Hidekichi
      ゲスト

      その状態がいつ作られているかにもよりますが、htmlの構造がそのままだとしたら

      .event .post-meta .post-date {
        display: none;
      }

      こうです。投稿日しかないので、それがひとつのブロックなら、

      .event {
        display: none;
      }

      で、そのものが消えると思います。
      いくつか同様のブロックがあるようなら、その親タグを調べたりする必要があります。ただこうすると中身が全部消えると思うので、

      .event .post-meta {
        display: none;
      }

      なのかなぁと。
      消したくない日付がどこに入っているかでも変わります。[p class=”post-meta”]の次に消したくないのが同じクラスで書いてあるとすれば(ここがどうなっているかが重要です)、

      .event .post-meta:first-child {
        display: none;
      }

      かなぁと思います。.eventの部分は、上記条件なら、.article headerでも良いかと思います。

      htmlを書き換えているタイミングにもよりますが、ひとまず子テーマstyle.cssでやってみてダメならheader-insert.phpにスタイルタグで書く感じですかね。style.cssに!important付きでも良いかも。

    • #35830
      bassy
      ゲスト

      わいひら様、Hidekichi様
      分かりやすいご説明ありがとうございます。

      わいひら様の記述、もしくはHidekichi様の一番目の記述を
      子テーマのstyle.cssに記載したら、
      イベントページの投稿日を消すことができました!
      1ヶ月ぐらい悩んでいたことがやっと解決できて本当に嬉しく思います。

      ちなみに、下記の記述だと投稿日のバーごと消えるのですね。
      こちらも良い方法だと思うので、使い分けていきたいと思います。

      .type-event .post-date{
        display: none;
      }

      お二人とも本当にありがとうございました。心より感謝いたします。
      Simplicityテーマの更なる発展を陰ながら応援しております。

    • #35832
      Hidekichi
      ゲスト

      あぁ今更ながら状態がわかりました(汗)
      Event Organiserが個別ページにだけ効いてるんですね。で、post-metaでdisplay:none;をすると他の投稿ページも消えてしまうので、どうにかならないかと言うことだったんですね。
      確かに読み返したら、個別ページがとありました(笑)

      投稿ページにはbodyに.postと言うクラスが付きます。それ以外は、また別のが付きますが、個別ページだと.pageですかね。
      今回のは、divブロックで”post-*** event type-event status-publish hentry”のがついているので、これで識別しても良いのですが、上記例で言うと、

      .post-meta {
        display: none;
      }
      
      .post .post-meta {
        display: block;
      }

      こういうのでもイケると思います。試してないのでわかりませんけども。
      基本全部消しておいて、.postの子要素である.post-metaはdisplay: blockで表示ということです。.pageの方は上記スタイルしか無い場合は、.post-meta {display: none;}が適用されるのでもちろん消えます。

    • #35833
      Hidekichi
      ゲスト

      あ、ちなみに逆に書いたらいけませんよ

      .post .post-meta {
        display: block;
      }
      
      .post-meta {
        display: none;
      }

      これダメです。たぶん。

      また、要素の高さやブロックは維持したまま非表示にする場合は、visibilityを使います。

      .post-meta {
        visibility: hidden; /*表示の場合は visible*/
      }

      こうすると、ブロック自体が無くなってしまうわけではないので位置などがキープされます。通常はブロック自体も消して詰めたほうが良いのですけれども、消してしまうと色々とjQueryなどであったりするので。上記visibilityにheight: 0等を組み合わせて、アニメーションして表示などもできます。

      後々の参考までに。

    • #35836
      bassy
      ゲスト

      Hidekichi様

      詳しい解説ありがとうございます。大変勉強になります。
      WordPressを使い始めて1年ぐらいになりますが、まだまだ知らないことばかりで、Simplicityテーマはカスタマイズ性も高くて、弄っていてとても面白いです。
      やっぱり自分の思い通りのデザインになった時の喜びは格別ですよね。

      解説、今後の参考にさせていただきます。ありがとうございます。
      これからもこちらのフォーラムを拝見させていただいて、勉強させていただきます。

11件の返信スレッドを表示中
  • トピック「「Event Organiser」で作成したイベントページの投稿日を非表示にしたい」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)