WordPressでログインすると
投稿できる投稿サイトをつくろうと
思っているのですが、
時間制限投稿とか設置できるのでしょうか?
例えば、AM10:00~PM5:00まで
投稿可能とか土日投稿不可。
「メンテナンス中の画面」とは違い
閲覧はできるけど
投稿はできないようにしたいです。
時間指定でログインできないように
でもいいです。
よろしくお願いします。
WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
0グッド
0クリップ
投稿2016/10/28 10:28
編集2016/10/28 10:48WordPressでログインすると
投稿できる投稿サイトをつくろうと
思っているのですが、
時間制限投稿とか設置できるのでしょうか?
例えば、AM10:00~PM5:00まで
投稿可能とか土日投稿不可。
「メンテナンス中の画面」とは違い
閲覧はできるけど
投稿はできないようにしたいです。
時間指定でログインできないように
でもいいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
制限時間中はユーザー権限を上書きして新規投稿を不可能にするのが比較的簡単そうに思えます。何かしら見落としがあるかもしれませんが、そのあたりは実際のコードとすり合わせつつ補完してください。
php
1// ダッシュボード(管理バー)表示中かつ投稿許可時間外なら 2if ( is_admin() && ! can_post() ) { 3 add_action( 'admin_menu', 'disallow_post' ); 4} 5 6/** 7 * 投稿許可時間か 8 * 9 * @param int $timestamp 10 * @return bool 11 */ 12function can_post( $timestamp = 0 ) { 13 $u = $timestamp ?: date_i18n( 'U' ); 14 15 // G: 0..23 (時) 16 if ( date_i18n( 'G', $u ) < 10 || 16 < date_i18n( 'G', $u ) ) { 17 return false; 18 } 19 20 // N: 1..7 (月..日) 21 if ( 6 <= date_i18n( 'N', $u ) ) { 22 return false; 23 } 24 25 return true; 26} 27 28/** 29 * 新規投稿・無効化アクション 30 */ 31function disallow_post() { 32 // create_posts に必要な権限を初期値の edit_posts から create_posts に変更 33 global $wp_post_types; 34 $wp_post_types['post']->cap->create_posts = 'create_posts'; 35 36 // ユーザーに権限 create_posts を生やす。値は false (無効) 37 add_filter( 'user_has_cap', function ( $allcaps ) { 38 $allcaps['create_posts'] = false; 39 return $allcaps; 40 } ); 41 42 // ダッシュボードメニューの新規投稿を隠す 43 // 管理バーと投稿一覧ページの新規投稿リンクは、権限と連動して勝手に消えるっぽい 44 remove_submenu_page( 'edit.php', 'post-new.php' ); 45 46 // 編集画面におしらせを表示 47 $info_callback = function () { 48 echo '<p>現在の時間帯、新規投稿はできません!更新はOK!</p>'; 49 }; 50 add_meta_box( 'disallow_post', 'おしらせ', $info_callback, 'post', 'side', 'high' ); 51}
欲を言えば許可時間は設定ファイルなりデータベースで管理したいところ。でも、そのへんこだわりだすとかなり大変そうです。
WordPress の新規追加の権限を切り分けてみる | Simple Colors
http://www.warna.info/archives/2728/
PHP: date - Manual
http://php.net/manual/ja/function.date.php
投稿2016/10/29 05:59
総合スコア1221
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。