Как можно узнать идентификатор (id) категории в WordPress?

Как можно переписать код, чтобы при использовании ajax-пагинации на кнопке "Ещё" выводились записи только для определенной рубрики? В данный момент список всех записей выводится независимо от текущей рубрики.

```php
function weichie_load_more() {
    $category_id = get_queried_object_id(); // получаем ID текущей рубрики
    $posts_per_page = 1;

    // задаем разные параметры запроса, в зависимости от текущей рубрики
    $args = array(
        'posts_per_page' => $posts_per_page,
        'orderby' => 'date',
        'order' => 'DESC',
        'paged' => $_POST['paged'],
    );

    if ($category_id) {
        $args['cat'] = $category_id;
    }

    $ajaxposts = new WP_Query($args);

    $response = '';

    if ($ajaxposts->have_posts()) {
        while ($ajaxposts->have_posts()) : $ajaxposts->the_post();
            $response .= get_template_part('template-parts/template-items', 'publication');
        endwhile;
    } else {
        $response = '';
    }

    echo $response;
    exit;
}

add_action('wp_ajax_weichie_load_more', 'weichie_load_more');
add_action('wp_ajax_nopriv_weichie_load_more', 'weichie_load_more');
```

Этот код будет выполнять ajax-запрос с определенными параметрами в зависимости от текущей рубрики. Если ID текущей рубрики существует, он будет использован как параметр "cat" в запросе WP_Query.
  • 25 сентября 2023 г. 17:27
Ответы на вопрос 1
Введите следующий код для получения идентификатора (id) категории в WordPress:

```php
$category = get_queried_object();
$category_id = $category->term_id;
```

Чтобы обновить код для вывода записей только для определенной рубрики при использовании ajax-пагинации, замените следующую строку:

```php
$category_id = get_queried_object_id(); // получаем ID текущей рубрики
```

на:

```php
$category_id = isset($_POST['category_id']) ? $_POST['category_id'] : null;
```

Это позволит передавать идентификатор (id) категории через ajax-запрос. Затем вместо:

```php
if ($category_id) {
    $args['cat'] = $category_id;
}
```

используйте:

```php
if (!empty($category_id)) {
    $args['cat'] = $category_id;
}
```

чтобы проверить, существует ли переданный идентификатор (id) категории.
Похожие вопросы