Чтобы получить список всех типов записей в WordPress, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
Метод 1: использование get_post_types()
$post_types = get_post_types();
Метод 2: использование get_post_types() с аргументами
$args = array(
'public' => true,
);
$post_types = get_post_types($args);
Метод 3: использование WP_Query
$args = array(
'post_type' => 'any',
'posts_per_page' => -1,
);
$query = new WP_Query($args);
$post_types = array();
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$post_types[] = get_post_type();
}
}
wp_reset_postdata();
Метод 4. Использование объекта $wpdb
global $wpdb;
$post_types = $wpdb->get_col("SELECT DISTINCT post_type FROM $wpdb->posts");
Метод 5. Использование REST API
$response = wp_remote_get('https://your-site/wp-json/wp/v2/types');
if (!is_wp_error($response)) {
$body = wp_remote_retrieve_body($response);
$types = json_decode($body, true);
$post_types = array_column($types, 'name');
}
Эти методы предоставляют различные способы получения списка всех типов записей в WordPress. Вы можете выбрать тот, который лучше всего соответствует вашим потребностям.