Soporte » Plugins y Hacks » Hacks » construyendo plugin (ayuda)

  • Hola, estoy haciendo un módulo (plugin), estoy acostumbrado a Drupal y soy nuevo en wordpress, quisiera que alguien me ayudara…

    El plugin debe mostrar desde la administración de wordpress, todos los posts creados en una tabla, con unos checkboxes al frente de cada post, y un botón para guardar los posts seleccionados.

    La idea es generar un widget, que muestre los post seleccionados en dicha tabla separados por pestañas.

    Por ejemplo: si hay «post1» y «post2», si yo selecciono los dos posts en la tabla, automáticamente el widget debe agarrar esos posts y mostrar «post1» y «post2» separados por pestañas y mostrar su contenido, eso se aría con jquery ui.

    Ya tengo la página de administración en el settings de wordpress con la lista de posts creados y los checkboxes. También tengo el widget

    Ahora lo que intento es cómo hacer para agarrar los posts que el usuario selecciona, para luego en la vista publica del widget mostrar los posts seleccionados separados por pestañas y mostrando el contenido.

    El plugin lo llamé «WordPress PosTabs Widget»

    Este es el código del formulario de la página administrativa del plugin en el script principal postabs.php

    <form id="form1" name="frm" action="options.php" method="POST">  
    
            <?php settings_fields('wppostabsgroup'); ?>
    
                <h1>Configuraciones de WordPress postabs</h1>
                <p>
                    <h3>Seleccione los artículos que quiere mostrar en formato pestaña</h3>
                </p>
                <table class="widefat">
                    <thead>
                        <tr>
                            <th>Título</th>
                            <th>postabbed</th>
                        </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th>Título</th>
                            <th>postabbed</th>
                        </tr>
                    </tfoot>
                    <tbody>
    
                        <?php
                            $numCheckBox = 0;
                            global $post;
    
                            $myposts = get_posts( );
    
                            foreach( $myposts as $post ) : setup_postdata($post); ?>
                        <tr>
    	                       <td>
                                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                               </td>
                               <td>
                                    <input type="checkbox" name="id"  value="<?php the_ID(); ?>" onClick="ct()">
                               </td>
                        </tr>
                            <?php
                                $numCheckBox++;
                                endforeach;
                            ?>
    
                    </tbody>
                </table>
                <p>
                <input type="submit" class="button-primary" value="Guardar configuración">
                </p>
    
                <?php 
    
                    if ($_GET['variable']=="tabbedPosts"){
    
                        }
    
                 ?>
    
            </form>

    El value de cada checkbox es el id del post al frente

    Si miran bien, en los check boxes hay un evento onClick, lo tengo ahí porque intente agarrar el evento para guardar los values de los ckeckboxes por javaScript pero creo que no está bien…

    Necesito dos cosas.

    Primero agarrar el value del checkbox que contiene el id del post para luego con un ciclo en la vista publica del widget buscar esos ids y mostrar las pestañas del jquery ui.

    Segundo y que es consecuente, no entiendo el funcionamiento del action del formulario, que apunta a options.php

    Necesito guardad los check boxes seleccionados para que al recargar la página no se pierda lo que se seleccionó, y para poder agarrar los checkboxes por php.

    Alguna idea

  • El debate ‘construyendo plugin (ayuda)’ está cerrado a nuevas respuestas.