it-swarm-es.com

Tipo de mensaje personalizado - ¿Menú desplegable de taxonomía?

He creado un tipo de publicación personalizada y he agregado varios meta box/campos a este tipo de publicación personalizada. Todo funciona excelente, excepto por un elemento ...

En lugar de utilizar la interfaz predeterminada para seleccionar una taxonomía, me gustaría tener un menú desplegable para que el usuario seleccione.

La idea aquí es permitir que los administradores agreguen elementos de taxonomía que pueden administrarse de forma centralizada, sin embargo, para que una publicación específica solo se asocie con una taxonomía.

Además, preferiría simplemente agregar este menú desplegable en uno de mis meta box existentes.

¿Alguien tiene algún código de ejemplo que me permita completar esta tarea?

5
NetConstructor.com

Respondí esta pregunta en una publicación diferente: Términos de ahorro de taxonomía

1
NetConstructor.com

Así es como lo hice.

<?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>
4
jaredwilli

No tengo código para hacer esto, pero debería ser simple: cree un menú desplegable llamado tax_input[your_taxonomy_name], donde los valores son id si su taxonomía es jerárquica (categorías similares), valores si no (etiquetas similares). Si usa este nombre, creo que se guarda automáticamente, sin su código adicional. Puede crear el menú desplegable con la función wp_dropdown_categories, pasar la opción selected con el término de taxonomía que debe seleccionarse. La función de devolución de llamada que crea el meta box obtiene el parámetro $post, por lo que puede obtener el término de taxonomía actual desde allí.

Para deshabilitar el cuadro de meta que normalmente se agregaría, podría establecer show_ui en falso al crear la taxonomía, o eliminar el cuadro de meta antes de que se dibuje (creo que el enlace add_meta_boxes es un buen lugar). Tendrá el id tagsdiv-your_taxonomy_name si no es jerárquico, o your_taxonomy_namediv si es.

1
Jan Fabry