カスタムポストタイプとウィジェットをカスタムポストタイプで作成するプラグインを作成しました。カスタム投稿タイプは、init
アクションタグとwidget_init
のウィジェットで登録されています。Widgets_initに登録されていないカスタム投稿タイプ?
public function __construct() {
// load the modules
add_action('init', array($this, 'addModule'));
}
public function addModule() {
// register the post type.
register_post_type($this->post_type, $this->getArgs());
}
そしてウィジェットがこのように呼ばれている:
add_action('widgets_init', function() {
register_widget('Webburo\Widgets\project\ProjectsWidget');
});
私はウィジェットコードにget_post_types()
とポストタイプをvar_dump()
すると、それが新たに登録されたが表示されませんので、同様
投稿タイプ。投稿タイプがまだwidget_init
に登録されていないようです。私が間違っていることがあるのですか、それとも何か不足していますか?
私は本当の公開鍵を設定しましたが、それでも私が登録したカスタムポストタイプを得ることはありません。しかし、例えば 'admin_init'アクションで関数を使用すると、私はカスタムの投稿タイプを見ることができます。ウィジェットコードの時点でまだ登録されていないようです。 –
これは、ユーザーが管理領域にアクセスするときにadmin_initが他のフックの前にトリガーされるためです。 とinitフックがロードされ、他にウィジェットフックなどが続きます –