wordpressの投稿URLスラッグにポストタイプ+記事IDを登録するように

wordpressの投稿URLスラッグにポストタイプ+記事IDを登録するように

wrodpressはパーマリンク設定画面では解決できない問題点があります。
適切なパーマリンクを生成するためには、パーマリンク設定画面での設定だけでは不十分です。なぜなら、URLの一部が日本語で表示されることで、不具合が生じる場合があるからです。

なので、いつも投稿のパーマリンク設定は[/%post_id%/]にしています。
でもこちらに指定するとslugの編集は不可になってしましいます。

今回の記事はfunctions.phpをカスタマイズしてURLスラッグにポストタイプ+記事IDを登録するよう紹介したいです。

管理画面でパーマリンク設定は「/%postname%/」にします。

functions.php

テーマ内のfunctions.phpに下記の関数を作成します。

  
    <?php
    function my_create_urlslug( $override_slug, $slug, $post_ID, $post_status, $post_type ){
    	//スラッグに英数以外が入っていたら処理
    	if( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ){
    		$override_slug = utf8_uri_encode( $post_type ). '-'. $post_ID;
    	}
    	return $override_slug;
    }
    add_filter( 'pre_wp_unique_post_slug', 'my_create_urlslug', 10, 5 );?>
  

そしたら、投稿のslugはカテゴリー名+IDに自動生成します。sulgは編集可になります。

参考サイト: http://yumenekostd.starfree.jp/noplugin-translate-urlslug/

SNSシェア

WP TECH WordPress技術専門 Tips

コーポレートサイトへ

WP TECH WordPress技術専門 Tips

採用サイトへ