wp_unique_post_slug

(2.8.0以降)
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で確認)。

使用例

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

フィルター

ユニークになった投稿スラッグを返す直前に'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

関連

お勧めコンテンツ

Widgets on dashboard:プラグイン作ってみました(2014年5月6日 登録)

サイトバーなどのページ構成パーツとしてウィジェットを利用し、ある程度頻繁に更新している場合、毎回ウィジェットページを表示するのはちょっとだけ面倒かも。そんなわけで、シンプルにダッシュボードで直接編集できればいいかなと思い、調べてみました。

タイトルが一致する投稿を検索する(2014年2月20日 登録)

WordPressが提供する投稿ページの文字列検索機能の実現には、query_posts関数(WP_Queryクラス)が大きな役割を担っている。ここで紹介するのは、高機能ゆえに使いこなすのが難しいquery_posts関数(WP_Queryクラス)の使用法の一例である。

決まった値を返すだけの関数群(2015年7月15日 登録)

WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。

さくらのVPSでKUSANAGI#3(2017年5月18日 登録)

今回は「前回」の続き。http(80番)をクローズ、そのほかに行った調整作業について整理する。

add_actionを使って管理ページで独自cssを使う(2011年2月25日 登録)

テーマやプラグインで専用の管理ページを作る場合、そのページ向けのcssやjavascriptが必要になることがある。どちらもページ内に直接記述できるが、特にcssは別ファイルに分けたいほうが便利だ。ここではその方法を紹介しよう。

最終更新日時 : 2014-11-27 15:38