例えばですが、投稿タイプを選択する機能を提供しているとします。
ちょうど、僕の作っているプラグインは下のような感じで、投稿タイプを選択できるようになる予定です。
で、この投稿タイプの選択によって処理の内容を変更したいな~と思いました。もうちょっと具体的に書くと、
- デフォルトで用意されている投稿タイプか
- カスタム投稿タイプか
いずれかの投稿タイプを選択しているのかを判別したい。
そこで「get_post_type_object」を使うと判別できましたので、似たようなことをされたい場合はご参考ください。
そもそも投稿タイプについて知りたい方は、以下の記事の前半に少し書きましたので、ご参考ください。
デフォルトの投稿タイプかカスタム投稿タイプか判別する
例1
例えば「投稿」の投稿タイプのオブジェクトを取得するには、
$post_obj = get_post_type_object( 'post' );
でOKです。取得した値の中に、
["_builtin"] => bool(true)
が見つかりますので、「true:デフォルトで用意されている投稿タイプ」ということがわかります。
例2
続いて、例えば「ニュース」という投稿タイプがあったとします。
同じように「ニュース」の投稿タイプのオブジェクトを取得します。
$post_obj = get_post_type_object( 'news' );
すると取得した値の中に、
["_builtin"] => bool(false)
が見つかります。「false:カスタム投稿タイプ」ということがわかります。
というように「get_post_type_object」を使うことで判別することができました。
他にもいい方法あるのかな。もしご存知でしたらご教示いただけますと幸いです。
このページを共有する