質問: ワードプレスのパーマリンク(URL)の設定変更で困っています。 以下のように、投稿(記事)ページのURLついて、 自動的に付与される記事IDの先頭に文字を追加したいと四苦八苦しています。 **■ 投稿(記事)ページのURL** ``` ・現状のURL https://○○○.com/123/ ・理想のURL https://○○○○○.com/co123/ ※「123」部分は、%post_id%を指定しています。 ``` 管理画面上で、「co%post_id%」を指定したのですが、 カテゴリーページなどの他ページに「co」という文字が追加されてしまい駄目でした。 他のページのURLに影響なく、投稿(記事)ページのURLのみに反映できる方法について、 分かる方いましたら、教えていただきたいです。 よろしくお願い致します。
回答: 投稿の slug は、記事の保存のタイミングで slug が未入力の場合 wp_unique_post_slug() 関数で作成されます。 wp_unique_post_slug 関数の中に、wp_unique_post_slug フックが用意されているので、このフックを使うことで任意の slug をデフォルトとして設定することが可能になります。 wp_unique_post_slug フックを利用する場合は、functions.php に下記のように記載します。 ``` function post_slug_tt168889( $slug, $post_id, $post_status, $post_type ) { $new_slug = 'co' . $post_id; return $new_slug; } add_filter( 'wp_unique_post_slug', 'post_slug_tt168889', 10, 4 ); ``` Reference / Hooks / wp_unique_post_slug 参照。