Изучение различных методов получения списка всех типов сообщений в WordPress

Чтобы получить список всех типов записей в 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. Вы можете выбрать тот, который лучше всего соответствует вашим потребностям.