• 記事やページの表示を時間指定で制御するプラグインはよく見かけるのですが、これと同じようなことをウィジェットでやりたいのですが、そういったプラグインはないでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • CG

    (@du-bist-der-lenz)

    表示制御の条件に、時間指定にしたいウィジェット内容とは、どういう類だろうか。リンクリストやお知らせはテキストウィジェット等で、可能に思えます。

    トピック投稿者 devsasa

    (@devsasa)

    すいませんわかりにくくて。

    例1)
    スラッグがaという固定ページがあるとします。
    このaをサイドバーに表示させます。
    ※表示のさせ方は色々とあると思いますが、ここではInsert Pagesを使います。

    テキストウィジェットでショートコードが使えるように、テーマファイルのfunctions.phpに以下のコードを書きます。

    //テキストウィジェットでショートコードを使用する
    add_filter(‘widget_text’, ‘do_shortcode’);

    テキストウィジェットに以下のショートコードを書きます。
    [insert page=’test’ display=’content’]

    で、aのページがそのままサイドバーに表示されます。
    これを指定の時間が来たら非表示になるようにしたいのです。
    ※非表示のさせ方は色々とあると思いますが、ここではPost Expiratorを使います。

    aの編集画面を開き22時に記事が非公開になるように設定します。

    22時なります。
    aを開くと非表示になっています。(このページは見つかりません)
    しかし、サイドバーに置いたaは表示されているのです。
    これを非表示にしたいのです。

    このプラグインの問題かな、とも思い、PHP直書きや他のプラグインでも試しましたが同様の結果でした。
    ページ自体は非表示になるのですが、ウィジェットで置いたページは見れるのです。

    となると、wordpressの問題なのかなと。

    どこに問題があるかはさておき、上記のようなことが実現したいのですがどうすればいいのでしょうか?

    どこに問題があるかはさておき、上記のようなことが実現したいのですがどうすればいいのでしょうか?

    Insert Pages プラグインを違うもの(適したもの)に変えるのが良いと思います。Insert Pages プラグインの insert ショートコードは、指定された投稿/固定ページが非公開であっても(それを無視して)タイトルや本文を表示するからです。

    追記: 設定の Insert method が Use legacy method である場合、WordPress からログアウト中なら、非公開の投稿/固定ページは表示されません。しかしログイン中であるか、または Use normal method を選んである場合は、非公開でも表示されます。

    • この返信は7年、 5ヶ月前にgblsmが編集しました。
    • この返信は7年、 5ヶ月前にgblsmが編集しました。

    こんにちは

    Widget Logic プラグインはどうでしょうか。
    このプラグインを有効にすると各ウィジェットの設定に表示条件を条件分岐タグなどの PHP コードを記述する項目が追加されます。

    例)
    date_i18n( 'G' ) < 22

    CG

    (@du-bist-der-lenz)

    ウィジェット内の表示より、ウィジェット自体の表示時間を指定日時で『表示する』、『表示しない』ウィジェットプラグインは記事やページの表示を時間指定で制御するプラグインと同様、幾通りありましたよ。

    https://ja.wordpress.org/plugins/widget-visibility-time-scheduler/

    関数も、date_i18n、wp schedule eventを手がかりに情報は得られそうです。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「時間でウィジェットを表示制御」には新たに返信することはできません。