質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1179閲覧

投稿サイトについて

otonosama99

総合スコア28

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/10/28 10:28

編集2016/10/28 10:48

WordPressでログインすると
投稿できる投稿サイトをつくろうと
思っているのですが、
時間制限投稿とか設置できるのでしょうか?

例えば、AM10:00~PM5:00まで
投稿可能とか土日投稿不可。

「メンテナンス中の画面」とは違い
閲覧はできるけど
投稿はできないようにしたいです。

時間指定でログインできないように
でもいいです。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

nnssn

総合スコア1221

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問