こんにちは
function my_alert( $data ){
if ( empty($data['post_content'] ) ) {
wp_die( '本文がありません' );
}
return $data;
}
add_filter( 'wp_insert_post_data' , 'my_alert' , '99');
で、どうですか?
ご返信ありがとうございます。
nobitaさんのコードを
そのままfunctions.phpに貼り付けてみました。
そして、投稿の「新規追加」という部分をクリックしました。
すると、投稿画面に入ることなく、
グレーの画面がすぐに表示される、という感じでした。
わがままで申し訳ないのですが、
投稿画面が空欄だった時に注意を促すようにしたいのですが、
なにか、方法などはありますでしょうか
pluto1234さんが貼ってくださいましたリンクを参考にしつつ、
他のサイトなどを調べて、初心者で理解しきれていないなりにコードを書いたのですが、
うまく機能しませんでした。
アドバイスをいただけませんでしょうか。
<?php
add_action( 'admin_head-post-new.php', 'my_content_required' );
function my_content_required() {
?>
<script type="text/javascript">
jQuery(document).ready(function($){
if('content' == $('#post_type').val()){
$("#post").submit(function(e){
if('' == $('#title').val()) {
alert('コンテンツが入力されていません');
$('#ajax-loading').css('visibility', 'hidden');
$('#publish').removeClass('button-primary-disabled');
$('#title').focus();
return false;
}
});
}
});
</script>
<?php
}
?>
if('' == $('#title').val()) {
↓↓
if('' == $('#content').val()) {
$('#title').focus();
↓↓
$('#content').focus();
で新規作成のときは、うまくいくはずです。ただし、いったん保存したものを再度編集し、投稿欄を(ワザワザ)空にしたときはエラーが出ません。
このときも、エラーを出すには、
add_action( 'admin_head-post-new.php', 'my_content_required' );
add_action( 'admin_head-post.php', 'my_content_required' ); // 追加
とすればいいようです。
追加(元のまま)
if('content' == $('#post_type').val()){
↓↓
if('post' == $('#post_type').val()){
pluto1234さんが示してくださいましたコードの変更で
無事、タイトルが空欄の時に注意を促すことが出来ました。
具体的にコードも教えていただき、
大変助かりました。
ありがとうございました。
hagemaruさん
解決した模様だったので、そのままになっていましたが、たまたま、再確認したところ、確かにお知らせしたコードに問題があることが解りました。
修正コードを書いておきます。
function my_alert( $data ){
$message = '<h2>本文が空なので、保存できませんでした。</h2><a href="javascript:history.back();" style="font-size:small">やり直りする</a>';
if ( empty($data['post_content'] ) and $data["post_status"] == 'publish' ) {
wp_die( $message );
}
return $data;
}
add_filter( 'wp_insert_post_data' , 'my_alert' , '99');
$data["post_status"] == 'publish'
を追加しました(’auto-draft’で動作してしまっていました)
自分から解決済みにしたにも関わらず、
修正コードを教えていただき、ありがとうございます。
nobitaさんに感謝します。
ただ、ここで改めて投稿していただいたのも何かの縁かもしれないのと同時に、
私も不備が発生したので、解決済みを解除した上でそのまま質問をさせてください。
pluto1234さんが教えてくださいましたコードの修正なのですが、
実際に修正して使ってみたところ、
本文が書かれていない場合は、アラートが発生しましたが、
本文が書かれていても、アラートが発生しました。
ただし、本文が書かれて、1度アラートが発生しますと、
その後は発生しなくなりました。
うまく説明できないのですが、
現状は、内容が書かれているかどうかに関係なく、1度はアラートが発生してしまいます。
そこで、
アラートの形式で本文が記入されていない時の注意の促しについて、
分かる方がいらっしゃいましたら、コードなどをぜひ教えていただけますとうれしいです。
よろしくお願いします。
補足ですが、
どうも、pluto1234さんが教えてくださいましたコードの修正は、
htmlでの場合は普通に機能するみたいですが、
ビジュアルの場合で機能にエラーが生じるみたいです。
申し訳ありませんが、
投稿画面で本文が空欄の時にアラートを出す方法が
分かる方はご回答のほど、よろしくお願いします。