netconstructorcom
  • 0
Мастер

Пользовательский тип записи — выпадающее меню таксономии?

  • 0

Я создал пользовательский тип сообщения и добавил различные мета-поля/поля в этот настраиваемый тип сообщения. Все работает отлично, кроме одного элемента…

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

Идея здесь состоит в том, чтобы позволить администраторам добавлять элементы таксономии, которыми можно управлять централизованно, но при этом конкретная запись должна быть связана только с одной таксономией.

Кроме того, я бы предпочел просто добавить этот раскрывающийся список в один из моих существующих мета-полей.

У кого-нибудь есть пример кода, который позволил бы мне выполнить эту задачу?

Share
  1. Существующий метаблок, который вы хотите изменить, один из ваших собственных или один из основных блоков?

    • 0
    • один из моих собственных… Я использовал код метабокса WPAlchemy для их создания, но я думаю, что это не имеет значения.

      • 0
    • ни у кого нет ответа на это случайно? удар?

      • 0
    • Я был бы очень признателен, если бы кто-то мог помочь мне немного больше здесь, поскольку я не знаю, как я должен сохранить новый термин таксономии, когда прошлое сохранено, и как показать текущий назначенный термин таксономии, когда сообщение страница редактирования загружена.

      • 0
    • У кого есть решение этого вопроса. Насколько я могу судить, предложенный выше код не работает. По сути, я запутался в том, как можно создать новый раскрывающийся список существующих терминов для определенной таксономии и добавить этот раскрывающийся список к пользовательскому типу записи. Что еще более важно, как данные сохраняются при обновлении сообщения и как данные обновляются без добавления дополнительного термина в таксономию.

      • 0
    • Код, который я разместил выше, отлично работал у меня как с иерархическими, так и с неиерархическими таксономиями. Я использую его на New2WP с моей таксономией «синтаксис», используемой в типе постов фрагментов, которые я сделал. И я использую его для внешних форм сообщений, которые используются на WPHonors.

      • 0
  2. Вот как я это сделал.

    <?php $tax = get_object_taxonomies('TAXONOMY_NAME');
        $taxterms = get_terms( $tax, 'orderby=count&offset=1&hide_empty=0&fields=all' );
    ?>
    <select name='tax' id='tax'>
        <option value='' <?php if (!count( $names )) echo "selected";?>>Select Term</option>
        <?php 
        foreach ( $taxterms as $term ) { 
            echo '<option value="' . $term->slug . '" selected>' . $term->name . '</option>',"\n"; 
        } ?>
    </select>
    
    • 0
  3. У меня нет кода для этого, но это должно быть просто: создайте раскрывающийся список с именем tax_input[your_taxonomy_name], где значения — это идентификаторы, если ваша таксономия иерархическая (например, категории), значения, если нет (например, теги). Если вы используете это имя, я думаю, оно сохраняется автоматически, без дополнительного кода с вашей стороны. Вы можете создать раскрывающийся список с помощью wp_dropdown_categories функции, передать selected параметр с термином таксономии, который следует выбрать. Функция обратного вызова, которая создает мета-поле, получает $post параметр, поэтому вы можете получить оттуда текущий термин таксономии.

    Чтобы отключить мета-поле, которое обычно добавляется, вы можете установить show_ui значение false при создании таксономии или удалить мета-поле до того, как оно будет нарисовано (я думаю, что add_meta_boxes хук — хорошее место). У него будет идентификатор tagsdiv-your_taxonomy_name, если он не иерархический или your_taxonomy_namediv если он есть.

    • 0
  4. Я ответил на этот вопрос в другом посте: Сохранение терминов таксономии

    • 0

Оставить ответ

You must login to add an answer.