2018/04/01 ブログのテーマをcocoonに変更しました。
スポンサーリンク

【グループブロガー向き】WordPressで条件を満たさないと、レビュー待ちに出来ないようにする

スポンサーリンク

私たちのブログは4人で管理していて、記事を投稿する際には必ず校閲を通すルールがあります。

私たちのルールで、校閲する際には記事の内容や誤字だけではなく、カテゴリの設定やタグの設定などの記事の内容には直接関係しない所も見ます。

 

最近校閲のルールが増えるにつれ、校閲係の仕事が増えて来ましたので、プログラムである程度自動化するようにしました。

 

ってことでそのプログラムを紹介していきまっすー。


オーカワ
そう僕は校閲をしていない

オーカワ
校閲が出来ないの間違いだろ

 

いつもお世話になっております。

ブログの校閲について。PaRt1~基本編~
こんにちは。もう六月も最終日ですよ。こう……いろいろやり残したことが多いですね。 砂のお城を作ったり、結婚式を挙げたり、雨乞いをしたり、スイカ割りをしたり、クリスマスパーティをしたり……んー、来年の六月まで我慢ですね。 さて今回は、前回...

参考

WordPress:投稿画面でタイトル、コンテンツ、カテゴリー選択、アイキャッチなどを入力必須にする方法 | NxWorld
WordPressは新規投稿する際にタイトルやコンテンツが空欄で何も入力されていなかった場合でも公開することができてしまうのですが、それを指定した部分が入力されていない時はアラート表示して公開させないようにする方法です。

こちらで紹介されているプログラムを元に、改造させて頂きました。

いつもお世話になっております。

レビュー待ちとして保存する時の条件

一般的なブログだと、この2つの条件が出来ていれば大丈夫だと思います。

アイキャッチ画像の登録が出来ているか

アイキャッチ画像のないブログなんて考えられない。

タグは設定しているか

結構タグって大事だったりする。

 


 

しかし、当ブログはまだまだ条件があります。

投稿時間は19:00になっているか

毎日19:00に記事を投稿する当ブログ。

主に僕が記事を執筆して、レビュー待ちにする際に時間を設定するのを忘れてしまったが為に出来たルール(だと思う)。


オーカワ
ごめんなさい

タグに「お知らせ」を含んでいないか

当ブログ、記事を投稿した際に自動でツイートしまして、記事のタグをTwitterのハッシュタグに変換するシステムを作りました。

【プラグインなし】Wordpressで自動でTwitterに投稿してみる
どうもオーカワです!今回は当ブログで使用しているTwitter機能の紹介をしていきたいと思います。 これらは全部自動でツイートしています!! 勿論自動ツイート以外にも呟いているので、是非フォローを!!

当ブログの一番右上を見ていただけるとわかるのですが、お知らせ欄にツイートを載せています。

自動で更新するシステムですが、記事のツイートがお知らせ欄に混ざるのは避けたいのでルール化決定!!

メタキーワードは設定しているか

これはSEO観点からですね。

表示したいカテゴリは設定しているか

要は「カテゴリが設定できてるか」です。

表示したいカテゴリはおそらく当ブログにしかないシステムです。


オーカワ
だって僕が作ったシステムだもん。
めちゃめちゃ便利[WordPress]投稿画面をカスタマイズする方法
こんにちはオーカワです。 今回はWordPressの投稿画面用のカスタマイズとしてボックスを作ります。 ボックスを一度作ってしまえば、誰でも使えて便利ですね。 今回は僕が作成したカテゴリボックスを例に紹介していきます。 ...

 


オーカワ
書いてみると多いな

作成したプログラム

ようやく本題です。前置きが長すぎだよクソ

function.phpに追加すれば動きます。

// レビュー待ちに条件を加える
add_action( 'admin_head-post-new.php', 'post_edit_required' ); //新規投稿画面でフック
add_action( 'admin_head-post.php', 'post_edit_required' ); //投稿編集画面でフック
function post_edit_required() {
?>
<script type="text/javascript">
jQuery(function($) {
if( 'post' == $('#post_type').val() ) { //記事の場合
$('#post').submit(function(e) { //下書きか、レビュー待ち、更新ボタンが押されたら
var val = $('#save-post[name="save"]').val(); //下書きかレビュー待ちか判断
if (val  == "レビュー待ちとして保存" ) { //レビュー待ちが押されたら
// アイキャッチ画像の登録が出来ているか
if ( $('#set-post-thumbnail img').length < 1 ) {
alert('アイキャッチ画像を設定してください');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#set-post-thumbnail').focus();
return false;
}
// タグは設定しているか
if ( $('#tagsdiv-post_tag .tagchecklist span').length < 1 ) {
alert('タグを選択してください');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#new-tag-post_tag').focus();
return false;
}
// -----ここから当サイト独自の条件(だと思う)-----
// 投稿時間は19:00になっているか
if ("19:00" != $('#timestamp').text().match(/\d\d:\d\d/) ){
alert('19時じゃない');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#timestamp').focus();
return false;
}
// タグに「お知らせ」を含んでいないか
if ( -1 != $('.tagchecklist').text().indexOf('お知らせ') ) {
alert('タグからお知らせを抜いてください');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#new-tag-post_tag').focus();
return false;
}
// メタキーワードは設定しているか
if ( '' == $('#unko').val() ) {
alert('メタキーワードを入力してください');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#unko').focus();
return false;
}
// 表示したいカテゴリは設定しているか
if ( '' == $('#hogehoge').val() ) {
alert('表示したいカテゴリを入力してください');
$('.spinner').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#hogehoge').focus();
return false;
}
// -----ここまでが当サイト独自の条件(だと思う)-----
}
});
}
});
</script>
<?php
}

これで条件を満たさない場合はレビュー待ちとして保存は出来ません。

保存出来なかった場合、アラートで警告を出してくれます(優秀)。

アイキャッチ画像を設定し忘れてた場合

 

jQueryでDOM操作をしているだけのプログラムですので、わかりやすい方のプログラムだと思います。

DOM操作がわかれば、独自のルールを作るのもいいと思います。

感想

このプログラムで校閲が楽になれば幸いです。

 

よし、この記事もレビュー待ちに......

一発でレビュー待ちに出来なかった


オーカワ
あっあっあっ

 

The following two tabs change content below.

オーカワ

GCPばっか触ってるにゃーんエンジニア こちらのブログでも活躍中

コメント