スラッグ設定の関数

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

Advanced Custom Fields のタイトルの英字表記欄をスラッグに設定

function custom_post_slug( $value, $post_id, $field  )
{
$type = get_post_type($post->ID);
if ( 'service' == $type) {
		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=posttitle_e', 'custom_post_slug', 10, 3);

スラッグ未設定の場合は投稿IDを設定する

function slug_or_id( $slug, $post_ID, $post_status, $post_type ) {
		$post = get_post($post_ID);
		if ( $post_type == 'news' && $post->post_date_gmt == '0000-00-00 00:00:00' ) {
			$slug = $post_ID;
			return $slug;
		}
		return $slug;
	}
	add_filter( 'wp_unique_post_slug', 'slug_or_id', 10, 4 );

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ