投稿のスラッグの初期値を日付にする
WordPressでは、新しい投稿を追加する際にタイトル名をもとに自動的にスラッグ(URLなどに使われる投稿の内部名)が設定されます。そのため、タイトルを日本語で入力しているとスラッグやURLの一部が日本語になってしまう場合があります。
日本語を含めてもよい場合はそのままでも大丈夫ですが、「できれば日本語を含めたくない」「でも投稿をする人にいちいち設定してもらうのもお願いしづらい」というケースなどでスラッグの初期値を日付(20160601など)にしたい場合はテーマのfunctions.phpに下記のように記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/** * 投稿のスラッグの初期値を日付(YYYYMMDD形式)にします。 */ function set_slug_date() { // 投稿以外(固定ページなど)の場合は適用しない if ( 'post' != get_post_type() ) { return; } ?> <script> jQuery(function($){ $('#post_name').val("<?php echo date_i18n('Ymd'); ?>"); }); </script> <?php } add_action( 'admin_head-post-new.php','set_slug_date' ); |
固定ページなどでもスラッグの初期値を日付にしたい場合は上記の代わりに下記のように記載します。
1 2 3 4 5 6 7 8 9 10 |
/** * 投稿や固定ページなどのスラッグの初期値を日付(YYYYMMDD形式)にします。 */ function set_slug_date() { ?> <script> jQuery(function($){ $('#post_name').val("<?php echo date_i18n('Ymd'); ?>"); }); </script> <?php } add_action( 'admin_head-post-new.php','set_slug_date' ); |
補足
※ 自動設定した値が他の投稿と被る場合は、「20160601-2」などのように後ろに番号がつきます。