Ответы в темах

Просмотр 1 ответа (всего 1)
  • Спасибо за помощь!
    Остановился на Вашем варианте, но со своими костылями. А именно:

    // Show posts for parent category only
    function show_posts_by_selected_cat_only($query) {
        global $pagenow;
    
        if ('edit.php' == $pagenow && (isset($_GET['cat']) and (int)($_GET['cat']) != 0)) {
            $query->set('category__and', array(intval($_GET['cat'])));
        }
    }
    if (isset($_GET['filter_category_checkbox']) && $_GET['filter_category_checkbox'] == 26) {
        add_action('pre_get_posts', 'show_posts_by_selected_cat_only');
    }
    
    // Parent only checkbox
    function posts_filter_category_checkbox() {
        global $pagenow;
        $ch = '';
        if ($pagenow == 'upload.php' || (isset($_GET['post_type']) && $_GET['post_type'] == 'page')) {
            return false;
        }
    
        if (isset($_GET['filter_category_checkbox'])) {
            $ch = 'checked';
        }
        echo <<<"FILTER_CATEGORY_CHECKBOX"
            <div style="float:left;margin-right:6px;margin-top:4px;">
                <label for="filter_category_checkbox">Parent only</label>
                <input id="filter_category_checkbox" type="checkbox" name="filter_category_checkbox" value="26" $ch>
            </div>
    FILTER_CATEGORY_CHECKBOX;
        return true;
    }
    add_action('restrict_manage_posts', 'posts_filter_category_checkbox');

    Добавил в форму post-filter страницы edit.php чекбокс посредством «restrict_manage_posts». Весь код в functions.php своей темы. Кроме того установил плагин Intuitive Custom Post Order и получилось довольно неплохо.

    Подозреваю, что сделал криво, но задача решена и есть время почитать доки. Спасибо за ссылки!

    ps. Буду рад критике решения или как бы сделали Вы =)

Просмотр 1 ответа (всего 1)