概要
unregister_post_type関数は、WordPressにおけるカスタム投稿タイプを未登録にするための関数です。この関数は、特定の投稿タイプを非表示にしたり、管理画面から除去したりする際に利用されます。主に次のようなシナリオで使用されます。
- 不要なカスタム投稿タイプを非表示にする。
- プラグインの更新やサイトの移行に伴う投稿タイプの削除。
- 特定の条件下で投稿タイプを一時的に無効化する。
- 開発中の機能をテストするための一時的な非表示。
- アプリケーションの状態によって投稿タイプを切り替える必要がある場合。
- ユーザーロールによってアクセスできる投稿タイプを制限する際。
- 不要なデフォルトの投稿タイプを管理画面から隠すため。
- 他の開発者に対するコードの整然とした管理のため。
構文
unregister_post_type( string $post_type );
パラメータ
$post_type(string): 未登録にする投稿タイプのスラッグ。
戻り値
この関数は値を返しません。
関連する関数
ワードプレスのバージョンとコアファイルのパス
- 使用可能なバージョン: 3.0.0 以降
- コアファイルのパス:
/wp-includes/post.php
この関数のアクションでの使用可能性
| アクション名 | 使用可能性 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | 〇 |
| plugins_loaded | 〇 |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | 〇 |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
-
カスタム投稿タイプの削除
function my_custom_unregister_post_type() { unregister_post_type('my_custom_post_type'); } add_action('init', 'my_custom_unregister_post_type');このコードは、
my_custom_post_typeという名前の投稿タイプを未登録にします。 -
特定の条件で投稿タイプを非表示にする
function conditional_unregister_post_type() { if (!current_user_can('administrator')) { unregister_post_type('another_post_type'); } } add_action('init', 'conditional_unregister_post_type');このコードは、管理者でないユーザーに対して
another_post_typeを未登録にします。 -
プラグインが無効化されたときにカスタム投稿タイプを削除
function plugin_unregister_post_type() { unregister_post_type('plugin_related_post'); } add_action('plugins_loaded', 'plugin_unregister_post_type');このサンプルは、プラグインが読み込まれた際に関連する投稿タイプを削除します。
-
テーマの初期設定において投稿タイプを削除
function theme_setup_unregister_post_type() { unregister_post_type('old_post_type'); } add_action('after_setup_theme', 'theme_setup_unregister_post_type');このコードは、テーマがセットアップされた際に古い投稿タイプを未登録にします。
-
特定のフィルターフックでの投稿タイプ削除
function filter_unregister_post_type() { if (is_admin()) { unregister_post_type('sample_post'); } } add_action('init', 'filter_unregister_post_type');このサンプルは、管理画面にいるときに
sample_postを未登録にします。