add_permastruct

(3.0.0以降)
add_permastruct - 投稿タイプのパーマリンク設定を追加する

説明

void add_permastruct( string $name, string $struct [ , mixed $args = array() ] )
投稿タイプのパーマリンク設定を追加する。

パラメータ

  • $name
    投稿タイプ名を指定。
  • $struct
    パーマリンクのURLパターンを指定。
  • $args
    パーマリンク設定の属性を連想配列で指定。
    キーデフォルト値
    'with_front'booltrue
    'ep_mask'intEP_NONE(0)
    'paged'booltrue
    'feed'booltrue
    'forcomments'boolfalse
    'walk_dirs'booltrue
    'endpoints'booltrue

返り値

返り値はありません。

注意

本関数は3.4でパラメータ仕様が変更されている。3.0~3.3までの呼び出し形式は次の通りで、3.4以降の環境において下記の指定で呼び出された場合でも互換性は保たれている。
add_permastruct( string $name, string $struct [ , bool $with_front = true [ , int $ep_mask = EP_NONE ] ] )
パーマリンクのURLパターンは、末尾の'/'が無視される以外に制限はなく、日本語を使用する場合はそのまま(URLエンコードは不要)指定できる。
なお本関数で追加したパーマリンク設定はそのままではシステムに反映されないため、適宜flush_rewrite_rules関数を呼び出すか、管理者ページの「設定」-「パーマリンク設定」を開き、「変更を保存」ボタンをクリックする必要がある。

使用例

  • カスタム投稿タイプ'tool'のパーマリンクに拡張子htmlを設定する。
    <?php add_permastruct( 'tool', 'tool/%tool%.html', array( 'ep_mask'=>EP_PERMALINK ) ); ?>
  • カスタム投稿タイプ'tool'のパーマリンクのディレクトリ名を'tool'から'道具'に変更する。
    <?php add_permastruct( 'tool', '道具/%tool%', array( 'ep_mask'=>EP_PERMALINK ) ); ?>

フィルター

実行するフィルターはありません。

アクション

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

ソースファイル

/wp-includes/rewrite.php

関連

お勧めコンテンツ

投稿ページでユニークなテンプレートを選択しよう(2016年12月19日 登録)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

コメントの「ウェブサイト」止めました(2014年4月14日 登録)

とあるサイトのスパムコメントが多く、その都度のスパム指定するのが面倒である。これまでいくつか対策を行ってきたが、そういった対応にもいい加減うんざりしてきたので、試験的に「ウェブサイト」を無効化しようと思った。

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 登録)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

ダッシュボードの「概要」にカスタム投稿タイプ件数を表示する(2013年12月17日 登録)

管理者向けページが刷新したWordPress 3.8。そのダッシュボードページにはサイトの状況を示す「概要(At a Glance)」ウィジェットがある。この中には「投稿」や「固定ページ」の投稿件数が表示されており、同じようにカスタム投稿タイプの投稿件数を表示できないか調べてみた。

テーマから投稿画像のサイズを指定する(2012年3月15日 登録)

投稿記事に挿入する画像サイズは、サムネイル(150×150)、中サイズ(300×300)、大サイズ(1024×1024)がデフォルトだが、テーマによっては別のサイズを指定したい場合はある。基本的には、「設定」-「メディア」の「メディア設定」ページで指定できるが、テーマ内のfunctions.phpで設定しておくとちょっと便利かもしれない。

最終更新日時 : 2012-09-06 16:21