情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
お客様に感想や評価を投稿してもらうフォームをACF PRO で作成しているのだが、タイトルを入力してもらうのは手間なので自動で入るようにしようと思う。投稿は下書きで保存されるので公開時に書き換えてもらう予定。
function wpa65253_time_title( $title ) {
global $post;
if ( isset( $post->ID ) ) {
if ( empty( $_POST['post_title'] ) ) {
date_default_timezone_set( 'Asia/Tokyo' );
$pt = date('Ymd-Hi');
$title = '投稿-'.$pt;
}}
return $title;
}
add_filter ( 'title_save_pre', 'wpa65253_time_title' );
ACF のフィールド値をタイトルにするのは以前にやったことがあるが、タイトルを幾つか用意して選択してもらうのも有りかな
function update_schedule_title($title) {
global $post;
$type = get_post_type($post->ID);
if ( 'schedule' == $type) {
$title = get_field('date');
}
return $title;
}
add_filter ('title_save_pre', 'update_schedule_title');
2/15追記
カスタムフィールド値をパーマリンク(スラッグ)に。https://wordpress.org/support/topic/adding-a-custom-field-in-addition-to-post-name-to-permalinks?replies=22 参照
function custom_post_title( $value, $post_id, $field )
{
if(isset($value) && $value != '') {
$args = array(
'ID' => $post_id,
'post_name' => sanitize_title($value)
);
wp_update_post( $args );
}
return $value;
}
add_filter('acf/update_value/name=フィールド名', 'custom_post_title', 10, 3);