• 解決済 gobylover

    (@gobylover)


    自分以外のユーザーが更新する際に、タイトルやアイキャッチを設定し忘れる、ということを防ぎたいと思っています。

    現状、下記のコードによって必須入力とすることには成功しました。

    //必須入力設定
    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( 'diblog' == $('#post_type').val() ) {
    		$('#post').submit(function(e) {
    			// タイトル
    			if( '' == $('#title').val() ) {
    				alert('タイトルを入力してください');
    				$('.spinner').css('visibility', 'hidden');
    				$('#publish').removeClass('button-primary-disabled');
    				$('#title').focus();
    				return false;
    			}
    			// コンテンツ(エディタ)
    			if( $('.wp-editor-area').val().length < 1 ) {
    				alert('内容を入力してください');
    				$('.spinner').css('visibility', 'hidden');
    				$('#publish').removeClass('button-primary-disabled');
    				return false;
    			}
    			// アイキャッチ
    			if( $('#set-post-thumbnail img').length < 1 ) {
    				alert('アイキャッチ画像を設定してください');
    				$('.spinner').css('visibility', 'hidden');
    				$('#publish').removeClass('button-primary-disabled');
    				$('#set-post-thumbnail').focus();
    				return false;
    			}
    		});
    	}
    });
    </script>
    <?php
    }

    しかし、本当にアイキャッチが必要ない場合などもあるため、単純に必須入力にするのではなく、未入力の場合に確認メッセージを表示したいと思っております。
    (現状、未入力の場合には公開することが出来ないようになっています。)

    イメージとしては
    ●タイトルやアイキャッチが全て入力済み
    →公開ボタンを押して公開可能(通常通り)

    ●いずれかが未入力
    ダイアログボックスが出現し
    『未入力の項目があります。本当に公開しますか?』
    とたずね、はい→公開、いいえ→編集画面に戻る

    何かいい方法はありますでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Okamoto Hidetaka

    (@hideokamoto)

    トピック投稿者 gobylover

    (@gobylover)

    ありがとうございます。

    以下の様に想定通りの挙動を実現することができました。

    //必須入力設定
    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( 'diblog' == $('#post_type').val() ) {
    		$('#post').submit(function(e) {
    			// タイトル(必須入力)
    			if( '' == $('#title').val() ) {
    				alert('タイトルを入力してください');
    				$('.spinner').css('visibility', 'hidden');
    				$('#publish').removeClass('button-primary-disabled');
    				$('#title').focus();
    				return false;
    			}
    			// コンテンツ(エディタ)(必須入力)
    			if( $('.wp-editor-area').val().length < 1 ) {
    				alert('内容を入力してください');
    				$('.spinner').css('visibility', 'hidden');
    				$('#publish').removeClass('button-primary-disabled');
    				return false;
    			}
    			// アイキャッチ(未入力時に警告)
    			if( $('#set-post-thumbnail img').length < 1 ) {
    				if(window.confirm('アイキャッチがありません。宜しいですか?')){
    				}else{
    					$('.spinner').css('visibility', 'hidden');
    					$('#publish').removeClass('button-primary-disabled');
    					$('#set-post-thumbnail').focus();
    					return false;
    				}
    			}
    		});
    	}
    });
    </script>
    <?php
    }
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「タイトル等未記入時に本当に良いかを確認するには?」には新たに返信することはできません。