WordPress как на ладони
wordpress jino

Как переместить выбранную рубрику сверху на свое место в иерархии, при редактировании записи?

Вопрос в заголовке, но я разъясню что имею ввиду, а то как-то непонятно.

  1. У меня есть структура категорий: родительские и дочерние рубрики.

  2. Я публикую запись и помещаю её в дочернюю рубрику, и жму кнопку Обновить.

  3. В результате, выбранная мной рубрика находится вверху, а мне нужно, чтобы она находилась на своем месте, в иерархии рубрик.

В этом и вопрос... Как можно быстро и элегантно убрать эту особенность WordPress и оставить выбранную категорию (термин) или любой другой элемент таксономии на своем месте и не перемещать его наверх при выборе. А то, это знаете ли сильно мешает сориентироваться в какой именно ветке находится выбранная рубрика, они у меня имеют схожие названия...

П.С. Хотелось бы решение в виде кода, а не плагина. Спасибо!

3
Гость 1.2 года назад
  • 1
    Kama4696

    Это делается таким простым хуком под функцию wp_terms_checklist()

    ##  отменим показ выбранного термина на верху в checkbox списке терминов
    add_filter( 'wp_terms_checklist_args', 'set_checked_ontop_default', 10 );
    function set_checked_ontop_default( $args ) {
    	// изменим параметр по умолчанию на false
    	if( ! isset($args['checked_ontop']) )
    		$args['checked_ontop'] = false;
    
    	return $args;
    }
    Кеша 1.2 года назад

    Спасибо! Отлично! Как раз как я хотел - просто и элегантно...

    campusboy 1.2 года назад

    Если не секрет, Тимур, откуда ты черпаешь такие идеи и знания?

    Kama 1.2 года назад

    По-разному: иногда временем и поисками; часто просто знаю как-то интуитивно; иногда из других кодов, плагинов, но как правило они мне не нравятся, но идеи из них иногда являются отправной точкой; много раз гугление приводило к конкретному ответу или к наводке на решение.

    Конкретно этот случай, я просто знал что есть функция wp_terms_checklist() и в ней есть параметр такой, давно сталкивался... Чуть освежил что к чему и написал вот этот код, параллельно залез в коды WP чтобы найти правильную проверку ! isset($args['checked_ontop'] и убедиться что она хорошо подойдет...

    campusboy 1.2 года назад

    Спасибо за ответ!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.