wp_filter_wp_template_unique_post_slug()


WordPressのwp_filter_wp_template_unique_post_slug()関数は、テンプレートに関連する投稿スラッグが一意であることを確認するために使用されます。この関数は、特にテンプレートファイルやカスタム投稿タイプのスラッグが重複しないようにするために役立ちます。

構文

wp_filter_wp_template_unique_post_slug( string $slug, int $post_ID, string $post_status, string $post_type, int $post_parent );

引数の説明:

  • $slug(string) — 投稿スラッグ。
  • $post_ID(int) — 投稿ID。
  • $post_status(string) — 投稿のステータス(例: ‘publish’, ‘draft’)。
  • $post_type(string) — 投稿タイプ(例: ‘post’, ‘page’)。
  • $post_parent(int) — 親投稿のID。

例1: 基本的な使用例

この例では、投稿スラッグが一意であることを確認します。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'my-slug', get_the_ID(), 'publish', 'post', 0 );

例2: カスタム投稿タイプでの使用

カスタム投稿タイプのスラッグを一意にするために使用します。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'custom-slug', get_the_ID(), 'publish', 'custom_post_type', 0 );

例3: 下書き状態でのスラッグ確認

下書き状態の投稿スラッグを確認します。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'draft-slug', get_the_ID(), 'draft', 'post', 0 );

例4: 親投稿を持つ場合のスラッグ確認

親投稿を持つ投稿のスラッグを一意にします。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'child-slug', get_the_ID(), 'publish', 'post', wp_get_post_parent_id( get_the_ID() ) );

例5: ページタイプでの使用

ページタイプのスラッグを一意にします。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'page-slug', get_the_ID(), 'publish', 'page', 0 );

例6: スラッグが重複する場合の処理

スラッグが重複する場合、自動的に一意なスラッグを生成します。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'duplicate-slug', get_the_ID(), 'publish', 'post', 0 );

例7: カスタムステータスでの使用

カスタムステータスの投稿スラッグを確認します。

$unique_slug = wp_filter_wp_template_unique_post_slug( 'custom-status-slug', get_the_ID(), 'custom_status', 'post', 0 );

注意点

  • この関数は、主にテンプレートファイルやカスタム投稿タイプのスラッグを一意にするために使用されます。
  • スラッグが重複する場合、自動的に一意なスラッグが生成されますが、手動で確認することも推奨されます。
  • 投稿タイプやステータスが異なる場合でも、スラッグが一意であることを確認するために使用できます。

関連機能: