情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
パーマリンクを投稿名に設定し、スラッグが空欄のときにはIDを入れるというSlug or PostID というプラグインがあって、便利だったのだが、長く更新されていないので、同様のことをする方法を考えてみた。
サイトのリニューアル時など、基本的にパーマリンクは投稿IDで良いのだが、特定の投稿だけ元のURLを変えたくないなどの事情がある場合用。
1.パーマリンクはpostname
2.acfでスラッグ欄を作り、デフォルト値を投稿IDにする
3.スラッグ欄の値を投稿スラッグに設定する
add_filter('acf/load_field/name=slug', function($field) { global $post; if( get_post_meta($post->ID, 'slug', true) == '' ) { $field['value'] = $post->ID; } return $field; }); function custom_post_title( $value, $post_id, $field ) { $type = get_post_type($post->ID); if ( 'post' == $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=slug', 'custom_post_title', 10, 3);
デフォルト値の設定はhttps://gist.github.com/vielhuber/1124e0309bb4d655bfc08e1d38ad5bdeから
その他のAdvanced Custom Fields に関する記事一覧
- ACF iframe
- acf カウント
- ACFで予約更新
- アイキャッチの有無とリピーター1つ目の画像
- ACFリピーターのサブフィールドを自動作成
- イベントカレンダーサンプル(ACFとCF7)
- acf 投稿オブジェクトにメタ値でフィルター
- ACF 画像URLからALTを取得
- 子テーマでACFを使う
- ACF リピーターをランダムに
- ブロックエディターでACFを使う
- ACF Blocks
- acf reset_rows
- ACF 値などの登録まとめ
- ACF チェックボックスの値での条件分岐
- ACF 柔軟コンテンツフィールド、固定ページ用
- ACF 柔軟コンテンツフィールド、ブログ・コラム用
- ACF 柔軟コンテンツフィールドで1サイト作ってみる
- 編集ページにマニュアルや注意書き
- 投稿の本文を表示するショートコード