Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 「Event Organiser」で作成したイベントページの投稿日を非表示にしたい
- このトピックには11件の返信、2人の参加者があり、最後に
bassyにより10年、 8ヶ月前に更新されました。
-
投稿者投稿
-
-
2016年1月24日 5:55 PM #35796
bassy
ゲストいつもお世話になっております。
Simplicity2.0.2を利用させていただいております。「Event Organiser」というプラグインでイベントカレンダーを作成し、
サイト上に表示しているのですが、
h1タイトルの下に記事の投稿日が表示されてしまい、カレンダーに登録した日付と混同して表示されており分かりづらい表記になってしまっているので、
投稿日を削除したいと思っています。http://wp-simplicity.com/suport/topic/topic-0-5/
検索したところ似たような内容のトピックがあったので試してみましたが改善しませんでした。
どのように修正すればよいか、ご教授いただければ幸いです。
よろしくお願い致します。 -
2016年1月24日 10:41 PM #35798
Hidekichi
ゲスト投稿日だけなら、
.post-meta .post-date { display: none; }でいいんじゃないでしょうか?
投稿日、更新日、カテゴリーなどを含む一式なら、.post-meta { display: none; }あるいは、
.article header .post-meta { display: none; }とか。最終的にどうなって欲しいかがわかると良いのですが、文面からだけだと投稿日がなければ良いみたいなので.post-dateを非表示にすればよいのではないかと思います。Simplicityの2系統は基本子テーマstyle.cssでほとんど上書きできます。
-
2016年1月24日 11:11 PM #35802
bassy
ゲストHidekichiさま
ご助言ありがとうございます。言葉足らずで申し訳ありません。
Hidekichiさまが書いていただいた方法で確かに投稿日は消えるのですが、
「ブログ記事の投稿日」は残したままで、「Event Organiserで作成したイベントカレンダーの記事の投稿日」のみ消したいと思っています。
(固定ページの投稿日は消してブログ記事の投稿日は残す、のようなイメージです。)果たしてそんなことが可能なのかどうか、
恐れ入りますがよろしくお願い致します。 -
2016年1月24日 11:47 PM #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”);
これで消せます。
-
2016年1月25日 7:15 PM #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でなんとかなれば有難いです。
ご助言いただければ幸いです。よろしくお願い致します。 -
2016年1月25日 7:19 PM #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> -
2016年1月25日 7:20 PM #35823
わいひらキーマスター実際に試してはないですが、こんな感じで良いのではないかと思います。
.type-event .post-date{ display: none; }これでうまくいかない場合は、URLを掲載していただいて、ソースを見せていただけると助かります
-
2016年1月25日 7:36 PM #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付きでも良いかも。
-
2016年1月25日 10:42 PM #35830
bassy
ゲストわいひら様、Hidekichi様
分かりやすいご説明ありがとうございます。わいひら様の記述、もしくはHidekichi様の一番目の記述を
子テーマのstyle.cssに記載したら、
イベントページの投稿日を消すことができました!
1ヶ月ぐらい悩んでいたことがやっと解決できて本当に嬉しく思います。ちなみに、下記の記述だと投稿日のバーごと消えるのですね。
こちらも良い方法だと思うので、使い分けていきたいと思います。.type-event .post-date{ display: none; }お二人とも本当にありがとうございました。心より感謝いたします。
Simplicityテーマの更なる発展を陰ながら応援しております。 -
2016年1月25日 10:59 PM #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;}が適用されるのでもちろん消えます。 -
2016年1月25日 11:07 PM #35833
Hidekichi
ゲストあ、ちなみに逆に書いたらいけませんよ
.post .post-meta { display: block; } .post-meta { display: none; }これダメです。たぶん。
また、要素の高さやブロックは維持したまま非表示にする場合は、visibilityを使います。
.post-meta { visibility: hidden; /*表示の場合は visible*/ }こうすると、ブロック自体が無くなってしまうわけではないので位置などがキープされます。通常はブロック自体も消して詰めたほうが良いのですけれども、消してしまうと色々とjQueryなどであったりするので。上記visibilityにheight: 0等を組み合わせて、アニメーションして表示などもできます。
後々の参考までに。
-
2016年1月25日 11:48 PM #35836
bassy
ゲストHidekichi様
詳しい解説ありがとうございます。大変勉強になります。
WordPressを使い始めて1年ぐらいになりますが、まだまだ知らないことばかりで、Simplicityテーマはカスタマイズ性も高くて、弄っていてとても面白いです。
やっぱり自分の思い通りのデザインになった時の喜びは格別ですよね。解説、今後の参考にさせていただきます。ありがとうございます。
これからもこちらのフォーラムを拝見させていただいて、勉強させていただきます。
-
-
投稿者投稿
- トピック「「Event Organiser」で作成したイベントページの投稿日を非表示にしたい」には新しい返信をつけることはできません。