¿Cambiar elementos de nivel superior en botones de radio en el cuadro de categorías de metadatos?

4

Sé que es posible cambiar la lista de categorías de WordPress a botones de opción en el panel de administración para las publicaciones, pero me gustaría hacer solo los botones de opción de Padres y las subcategorías o casillas de verificación de niños ... algo así.

<ul>
    <li><input type="radio"> Category 1
        <ul class="children">
        <li><input type="checkbox">Category 1 - Sub Cat 1</label></li>
        <li><input type="checkbox">Category 1 - Sub Cat 2</label></li>
        </ul>
    </li>
    <li><input type="radio"> Category 2</li>
    <li><input type="radio"> Category 3</li>
    <li><input type="radio"> Category 4
        <ul class="children">
        <li><input type="checkbox">Category 4 - Sub Cat 1</label></li>
        <li><input type="checkbox">Category 4 - Sub Cat 2</label></li>
        </ul>
    </li>
    <li><input type="radio"> Category 5</li>
</ul>

Realmente no quiero perder el tiempo con los archivos principales y me pregunto si alguien sabe una manera de anular la salida a través de las funciones del tema u otro método.

    
pregunta brasofilo 18.09.2011 - 13:05

2 respuestas

1

Estoy bastante seguro de que podrías usar JavaScript para hacer esto por ti de manera muy simple. Yo probaría esto:

function convert_root_cats_to_radio()
{
    global $post_type;

    if ( 'post' != $post_type )
        return;
    ?>
    <script type="text/javascript">
    jQuery("#categorychecklist>li>label input").each(function(){
        this.type = 'radio';
    });
    </script>
    <?php
}
add_action( 'admin_footer-post.php', 'convert_root_cats_to_radio' );
add_action( 'admin_footer-post-new.php', 'convert_root_cats_to_radio' );

Lo que esto hace es recorrer la jerarquía y convierte los elementos de nivel superior en botones de radio. Si necesita hacer cumplir estrictamente esto, el javascript no será una buena solución porque las categorías de nivel raíz aún pueden seleccionarse en la pestaña popular.

También puedes ver este complemento para mantener la jerarquía después de guardar: enlace

Si necesitas algo un poco más exigible, necesitarás un complemento personalizado para eso. ¡El complemento mencionado anteriormente sería un excelente lugar para comenzar en ese esfuerzo!

Saludos ~

    
respondido por el Matthew Boynes 22.01.2012 - 03:11
0

Si la función utiliza un tipo de andador, entonces anule la clase secundaria extendida del caminante.

Si haces esto, puedes controlar cómo la clase secundaria se hará eco del html. Puedes personalizarlo como quieras.

    
respondido por el uwiuw 07.12.2011 - 19:26

Lea otras preguntas en las etiquetas