wp_unique_post_slug

説明

string wp_unique_post_slug( string $slug, int $post_ID, string $post_status, string $post_type, int $post_parent )
ユニークな投稿スラッグを取得する。

パラメータ

  • $slug
    サニタイズした投稿名を指定。
  • $post_ID
    投稿IDを指定。
  • $post_status
    投稿ステータスで指定。
  • $post_type
    投稿タイプを指定。
  • $post_parent
    親の投稿IDを指定(親がない場合は0)。

返り値

ユニークな投稿スラッグを返す。

注意

サイト全体でユニークとなる投稿スラッグ(同じ名前がすでにある場合は-1や-2のようなサフィックスが付く)を取得できるもので、通常は wp_insert_post関数内で呼ばれている。基本的に呼び出すことはなく、利用するなら'wp_unique_post_slug'フィルターだろう。
なお、パラメータ$post_statusが'draft'、'pending'、'auto-draft'のいずれかか、パラメータ$post_statusが'inherit'でパラメータ$post_typeが'revision'の場合はパラメータ$slugをすぐに返す(フィルターは呼び出されない)。

【重要】
'wp_unique_post_slug'フィルターを利用する場合は、その戻り値となるスラッグがURLエンコード(PHP urlencode関数など)して200文字を超えないようにすること。200文字を超えたスラッグを返した場合はその投稿情報は正しく保存されない(3.7.1で確認)。

[5.1.0]本関数でユニークなスラッグを生成する前に'pre_wp_unique_post_slug'フィルターが追加され、独自ルールでスラッグを生成する場合は従来の'wp_unique_post_slug'フィルターの代わりに使用できる。


使用例

  • $postからユニークな投稿スラッグを取得する。
    <?php $post_name = wp_unique_post_slug( sanitize_title( $post->post_title ), $post->ID, $post->post_status, $post->post_type, $post->post_parent ); ?>

フィルター

[5.1.0]ユニークなスラッグを生成する前に'pre_wp_unique_post_slug'フィルターを呼び出す。パラメータ$override_slugにはnullが、以降のパラメータには本関数が受け取った内容が格納されている。
$override_slug = apply_filters( 'pre_wp_unique_post_slug', $override_slug, $slug, $post_ID, $post_status, $post_type, $post_parent );
[3.3.0]ユニークになった投稿スラッグを返す直前に'wp_unique_post_slug'フィルターを呼び出す。パラメータ$slugはユニークになった投稿スラッグ、$original_slugは本関数のパラメータ$slugの内容が格納される。
return apply_filters( 'wp_unique_post_slug', $slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug );

アクション

直接実行するアクションはありません。

ソースファイル

/wp-includes/post.php

最終更新 : 2019年03月01日 14:51



お勧め

Login rebuilderに「XML-RPC設定」を追加しました(2018年5月27日 更新)

公式サイトで公開しているプラグイン「Login rebuilder」をバージョンアップし、XML-RPCリクエストの管理機能を追加しました。Login rebuilderの主たる機能は、ログインページをサイト別にユニークなURLに変更し、ログインページへの不正アクセスを回避することです。WordPressのXML-RPCリクエストはピンバックや外部ツールやサイトなどとの連携に利用されていますが、今回追加した機能ではXML-RPCリクエストの処理に対していくつかの制限できるようにしています。

絵文字画像がPNGからSVGへ(2018年5月27日 更新)

WordPressでは絵文字に対応していないブラウザ環境で絵文字を表示する仕組みをバージョン4.2から提供。絵文字に対応しているブラウザとそん色がない表示を実現する。

4.4では投稿ページも専用テンプレートが適用できる(2018年5月27日 更新)

従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。4.4では特定の投稿ページに標準で専用テンプレートを適用できるようになりそうです。

5.7の新機能:HTTPからHTTPSへの移行(2021年3月13日 更新)

先週は「WordPress 5.7 Beta 2(以降Beta 2)」が公開され、正式版リリースへ一歩進みました。WordPress 5.7の注目ポイントの1つに「HTTPからHTTPSへの移行」を手助けする機能があり、それに関連する機能を含んだhttps-detection.phpファイルとhttps-migration.phpが追加されていた。

wp_titleからwp_get_document_titleへ(2018年5月27日 更新)

先週、WordPress 4.4 beta1(以降4.4 beta1)が公開されました。この4.4 beta1では新テーマ「Twenty Sixteen」が追加されたほか、wp-includesディレクトリ以下のファイルが大幅に変更された感じです。