私のWordPressテーマのthemecheckプラグインには以下のエラーメッセージがあります。
必須:テーマはregister_taxonomy()関数を使用します。これはプラグイン領域の機能です。
必須:テーマはregister_post_type()関数を使用します。これはプラグイン地域の機能です。
警告:テーマはadd_shortcode()関数を使用しています。カスタムポストコンテンツショートコードは、プラグイン地域の機能です。
after_setup_theme
フックでregister_taxonomy()
とregister_post_type()
関数を宣言しました。
私のregister_taxonomy()
関数は次のとおりです。
register_taxonomy('project_cat', 'project', array(
'public' => true,
'hierarchical' => true,
'labels' => array(
'name' => 'Categories',
)
));
そして私のregister_post_type()
関数の一つです:
register_post_type('service', array(
'public' => true,
'supports' => array('title', 'thumbnail', 'editor'),
'labels' => array(
'name' => esc_html__('Services', 'textdomain'),
'add_new_item' => esc_html__('Add Service', 'textdomain'),
'add_new' => esc_html__('Add Service', 'textdomain')
)
));
どうすればこれらの問題を解決できますか?
カスタム投稿を登録することはプラグインの領域です。つまり、テーマの機能からそれらを削除し、プラグインを介してそれらを登録する必要があるということです(通常、 TGM Plugin Activation または他のものを使用してテーマをインストールするときに推奨)。 これはテーマレビューチームの勧告 です。
テーマには、以下のプラグインテリトリー機能を組み込んではいけません。このリストはすべてを網羅しているわけではありません。
- 分析スクリプト
- SEOオプション(メタタグ、ページタイトル、投稿タイトル、robots.txtなど)
- コンテンツ共有ボタン/リンク
- カスタムポストコンテンツショートコード
- カスタム投稿タイプ
- カスタム分類法
- 非プレゼンテーションコアフックの削除または修正
- 管理ツールバーを無効にする
- リソース圧縮/キャッシング
エラーメッセージを読み直してください。カスタム分類、カスタム投稿タイプ、ショートコードは、notをテーマに登録する必要があります。これは標準的な方法です。カスタム分類、カスタム投稿タイプ、ショートコードはプラグインに登録する必要があります。