Artículos con la etiqueta 'submit'

WordPress: categorías en el menú desplegable

Yo afirmo que estamos hablando de WordPress 2.0.6. Si se intenta establecer las categorías de "combo" - desplegable - atento a los síntomas propuestos en el sitio de WordPress . Cuando la construcción de un formulario HTML con un botón Submit debe tener cuidado de no poner el nombre de la etiqueta INPUT sólo para "enviar", vale la pena arruinar todo lo que tratando de submittare el formulario a través de Javascript.

En el sitio de WordPress se propone el siguiente código:

1
2
3
4
5
6
<li id="categories">
'Categories:' ) ; ?> <Php _e ('Categorías');?>
<li>
$PHP_SELF ?> " method="get"> <?php dropdown_cats ( ) ; ?> <input type="submit" name="submit" value="view" /> </form> <Form action = "? <Php echo $ PHP_SELF>" method = "get"> <Php dropdown_cats ();?> <input Type="submit" name="submit" value="view" /> </ form>
</ Li> </ ul>
</ Li>

Tenga en cuenta que el botón de envío tiene el nombre del atributo en "enviar". Si un intento para la ejecución de código Javascript como esto:

1
. submit ( ) ; ... documento forma nomeform submit ();

El intérprete se confunde, ya que no distingue el método submit () elemento de "enviar", que es un botón! La solución es simple: Llame el botón que quieras, pero no en "enviar"!

El código que utiliza para ver las categorías en el modo de menú desplegable que es el siguiente:

1
2
3
4
5
<div id="cmb_months">
<form name="xcats" id="xcats" action="/index.php" method="get">
; ?> <Php dropdown_cats ();?>
</ Form>
</ Div>

También tuve que modificar el núcleo de WordPress (que no se debe hacer ...). En el archivo "plantilla de las funciones-category.php" modificado que los dropdown_cats function () en la preparación de la etiqueta SELECT que agregó:

1
onchange = "document.forms ['xcats'] submit ();".

Aquí está el pedazo de código para realizar un seguimiento de:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$wpdb -> get_results ( $query ) ; Categorías = $ $ wpdb -> get_results ($ consulta);
. " \n " ; "<select name="cat" class="postform" onchange="document.forms[\'xcats\'].submit();">" echo "\ n".;
intval ( $optionall ) == 1 ) { if ( intval ($ optionall) == 1) {
apply_filters ( 'list_cats' , $all ) ; Todo = $ apply_filters ('list_cats', $ todo);
<option value='0'>Seleziona una Categoria</option> \n " ; echo "\ t <option value='0'> Seleccione una Categoría </ option> \ n";
}
intval ( $optionnone ) == 1 ) if ( intval ($ optionnone) == 1)
<option value='-1'>" . __ ( 'None' ) . "</option> \n " ; . echo "\ t <option value='-1'>" __ ('Ninguno') "</ option> \ n".;
$categories ) { if ($ categorías) {
$categories as $category ) { foreach ($ $ categorías categoría) {
apply_filters ( 'list_cats' , $category -> cat_name , $category ) ; Apply_filters cat_name = $ ('list_cats', $ categoría -> cat_name, $ categoría);
<option value= \" " . $category -> cat_ID . " \" " ; echo "\ t <option value= \"". $category -> cat_id." \ "";
$category -> cat_ID == $selected ) if ($ categoría -> cat_id == $ seleccionado)
; echo 'selected = "selected"';
; echo '>';
; echo $ cat_name;
intval ( $optioncount ) == 1 ) if ( intval ($ optioncount) == 1)
. $category -> cat_count . ')' ; echo '('. $ categoría -> cat_count. ')';
intval ( $optiondates ) == 1 ) if ( intval ($ optiondates) == 1)
. $category -> lastday . '/' . $category -> lastmonth ; ..''. echo $ category -> lastday '/' $ categoría -> lastmonth;
" ; echo "</ option> \ n";
}
}
" ; echo "</ select> \ n";

Una de las cosas que hace la función se ajusta el combo de la categoría que escogió cuando se vuelva a cargar la página ... cuando tengo tiempo me veo mejor.

Como es sabido por todos, en aras de la exhaustividad, cabe señalar que se debe actuar con un código no intrusivo (discreto) en lugar de entrar en el onchange directamente en la construcción del combo. Por otra parte, las categorías que aparecen en el combo no son accesibles para navegadores con JavaScript desactivado. Sin embargo, esto puede ser resuelto mediante el uso de la etiqueta NOSCRIPT en la barra lateral y ver las categorías como una lista de enlaces - el modo por defecto de WordPress - ajustes que pronto se ;) .

Más información ...


Deje de SOPA