Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Problema con plugin propio wordpress

Estas en el tema de Problema con plugin propio wordpress en el foro de WordPress en Foros del Web. Buenas tardes, eh creado un plugin propio con ayuda en la web. Me muestra el formulario en el panel de administración de wp pero no ...
  #1 (permalink)  
Antiguo 22/01/2014, 16:19
 
Fecha de Ingreso: septiembre-2012
Mensajes: 9
Antigüedad: 12 años, 3 meses
Puntos: 0
Problema con plugin propio wordpress

Buenas tardes, eh creado un plugin propio con ayuda en la web. Me muestra el formulario en el panel de administración de wp pero no muestra nada en la pagina. No se si me falta algúna linea de codigo o si tiene un error. La función del plugin es basicamente mostrar unos datos que el usuario a diario cambia mediante el form del panel de admnistración, y se reflejan en un div en la pagina principal. Dejo mi codigo, gracias por la ayuda , es urgente!

Código PHP:
<?php
/**
*
* Plugin Name: plugin nombre
* Plugin URI: http://nombre.com
* Description: App urgente que se recoge a diario
* Version: 1.0
* Author: nombre apellido
* Author URI: http://nombreautor.com
*
**/
add_action'admin_menu''wp_cerenaproceso' );

add_action('wp_enqueue_scripts','wp_cerenaproceso_home');

function 
wp_cerenaproceso_home(){
    if(
is_home()){
        global 
$table_prefix;
        
$dbh = new wpdbDB_USERDB_PASSWORDDB_NAMEDB_HOST );
        
$table $table_prefix.'options';
        
$query_title "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title'";
        
$query_title2 "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title2'";
        
$query_title3 "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title3'";
        
$query_title4 "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title4'";
        
$query_title5 "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title5'";
        
$query_title6 "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title6'";
        
$res_title $dbh->get_results$query_title );
        
$res_title2 $dbh->get_results$query_title2 );
        
$res_title3 $dbh->get_results$query_title3 );
        
$res_title4 $dbh->get_results$query_title4 );
        
$res_title5 $dbh->get_results$query_title5 );
        
$res_title6 $dbh->get_results$query_title6 );
       
?>
<div class="AppAllcontenedor">
<div class="ContWrap">
<h2 class="tIuUlOo">MATERIAL RECUPERADO POR DÍA</h2>
<div class="EmpresasCajon">
<span>Empresa :</span> <span><b>Familia S.A</b></span>
<div class="Numero">
<div class="NuMMM"><?php echo $res_title[0]->option_value?></div><div class="pOrCIENTO">kg</div>
</div>
<div class="Porcentajes">
Productos higienicos: <?php echo $res_title2[0]->option_value?>
<div class="meter">
    <span style="width: <?php echo $res_title2[0]->option_value?>"></span>
</div>
Otros: <?php echo $res_title3[0]->option_value?>
<div class="meter orange">
    <span style="width: <?php echo $res_title3[0]->option_value?>"></span>
</div>
</div>
</div>
<div class="EmpresasCajon">
<span>Empresa :</span> <span><b>Jhonson &amp; Johnson</b></span>
<div class="Numero">
<div class="NuMMM"><?php echo $res_title4[0]->option_value?></div><div class="pOrCIENTO">kg</div>
</div>
<div class="Porcentajes">
Productos higienicos: <?php echo $res_title5[0]->option_value?>
<div class="meter">
    <span style="width: <?php echo $res_title5[0]->option_value?>"></span>
</div>
Otros: <?php echo $res_title6[0]->option_value?>
<div class="meter orange">
    <span style="width: <?php echo $res_title6[0]->option_value?>"></span>
</div>
</div>
</div>
</div>
<div class="BtNcierra">hi</div>
</div>

<?php
    
}
}

function 
wp_cerenaproceso() {
    
add_options_page'Opciones Ceerena Proceso''Cerena Proceso''manage_options''wp_cerenaproceso''wp_cerenaproceso_options' );
}

function 
wp_cerenaproceso_options() {

    if (!
current_user_can('manage_options'))
    {
        
wp_die__('Pequeño padawan... debes utilizar la fuerza para entrar aquí.') );
    }

    
$opt_name 'wp_cerenaproceso_title';
    
$opt_name_2 'wp_cerenaproceso_title2';
    
$opt_name_3 'wp_cerenaproceso_title3';
    
$opt_name_4 'wp_cerenaproceso_title4';
    
$opt_name_5 'wp_cerenaproceso_title5';
    
$opt_name_6 'wp_cerenaproceso_title6';
    
$hidden_field_name 'wp_cerenaproceso_title_hidden';
    
$hidden_field_name_2 'wp_cerenaproceso_title2_hidden';
    
$hidden_field_name_3 'wp_cerenaproceso_title3_hidden';
    
$hidden_field_name_4 'wp_cerenaproceso_title4_hidden';
    
$hidden_field_name_5 'wp_cerenaproceso_title5_hidden';
    
$hidden_field_name_6 'wp_cerenaproceso_title6_hidden';
    
$data_field_name 'wp_cerenaproceso_title';
    
$data_field_name_2 'wp_cerenaproceso_title2';
    
$data_field_name_3 'wp_cerenaproceso_title3';
    
$data_field_name_4 'wp_cerenaproceso_title4';
    
$data_field_name_5 'wp_cerenaproceso_title5';
    
$data_field_name_6 'wp_cerenaproceso_title6';
    
$opt_val get_option$opt_name );
    
$opt_val_2 get_option$opt_name_2 );
    
$opt_val_3 get_option$opt_name_3 );
    
$opt_val_4 get_option$opt_name_4 );
    
$opt_val_5 get_option$opt_name_5 );
    
$opt_val_6 get_option$opt_name_6 );

    if( isset(
$_POST$hidden_field_name ]) && $_POST$hidden_field_name ] == 'title_hidden'  && isset($_POST$hidden_field_name_2 ]) && $_POST$hidden_field_name_2 ] == 'title2_hidden' && isset($_POST$hidden_field_name_3 ]) && $_POST$hidden_field_name_3 ] == 'title3_hidden' && isset($_POST$hidden_field_name_4 ]) && $_POST$hidden_field_name_4 ] == 'title4_hidden' 
&& isset($_POST$hidden_field_name_5 ]) && $_POST$hidden_field_name_5 ] == 'title5_hidden'
&& isset($_POST$hidden_field_name_6 ]) && $_POST$hidden_field_name_6 ] == 'title6_hidden'    
    
)  
    {
        
$opt_val $_POST$data_field_name ];
        
$opt_val_2 $_POST$data_field_name_2 ];
        
$opt_val_3 $_POST$data_field_name_3 ];
        
$opt_val_4 $_POST$data_field_name_4 ];
        
$opt_val_5 $_POST$data_field_name_5 ];
        
$opt_val_6 $_POST$data_field_name_6 ];
        
update_option$opt_name$opt_val );
        
update_option$opt_name_2$opt_val_2 );
        
update_option$opt_name_3$opt_val_3 );
        
update_option$opt_name_4$opt_val_4 );
        
update_option$opt_name_5$opt_val_5 );
        
update_option$opt_name_6$opt_val_6 );
        
?>
            <div class="updated">
                <p>
                    <strong>
                        <?php _e('Cambios Guardados!''wp_skinhome_menu' ); ?>
                    </strong>
                </p>
            </div>
        <?php
    
}

    echo 
'<div class="wrap">';

    echo 
"<h2>" __'Cerena Proceso''wp_cerenaproceso_menu' ) . "</h2>";

    
?>

    <form name="form1" method="post" action="">
        <input type="hidden" name="<?php echo $hidden_field_name?>" value="title_hidden">
        <input type="hidden" name="<?php echo $hidden_field_name_2?>" value="title2_hidden">
        <input type="hidden" name="<?php echo $hidden_field_name_3?>" value="title3_hidden">
        <input type="hidden" name="<?php echo $hidden_field_name_4?>" value="title4_hidden">
        <input type="hidden" name="<?php echo $hidden_field_name_5?>" value="title5_hidden">
        <input type="hidden" name="<?php echo $hidden_field_name_6?>" value="title6_hidden">
        <p>
            <?php _e("Numero de kg Familia S.A: "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name?>" value="<?php echo $opt_val?>" size="20">
        </p>
        <p>
            <?php _e("Porcentaje en material Higienico desechable Familia S.A "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name_2?>" value="<?php echo $opt_val_2?>" size="20">
            <?php _e("(no olvidar colocar el signo % , ejemplo: 50%)"'wp_cerenaproceso_menu' ); ?>
        </p>
        <p>
            <?php _e("Porcentaje en otros Familia S.A: "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name_3?>" value="<?php echo $opt_val_3?>" size="20">
             <?php _e("(no olvidar colocar el signo % , ejemplo: 50%)"'wp_cerenaproceso_menu' ); ?>
        </p>
        
        <p>
            <?php _e("Numero de kg Johnson &amp; Johnson: "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name_4?>" value="<?php echo $opt_val?>" size="20">
        </p>
        <p>
            <?php _e("Porcentaje en material Higienico desechable Johnson &amp; Johnson: "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name_5?>" value="<?php echo $opt_val_2?>" size="20">
            <?php _e("(no olvidar colocar el signo % , ejemplo: 50%)"'wp_cerenaproceso_menu' ); ?>
        </p>
        <p>
            <?php _e("Porcentaje en otros Johnson &amp; Johnson: "'wp_cerenaproceso_menu' ); ?>
            <input type="text" name="<?php echo $data_field_name_6?>" value="<?php echo $opt_val_3?>" size="20">
             <?php _e("(no olvidar colocar el signo % , ejemplo: 50%)"'wp_cerenaproceso_menu' ); ?>
        </p>
        <p class="submit">
            <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Guardar Cambios'?>" />
        </p>
    </form>
</div>

<?php

}
  #2 (permalink)  
Antiguo 23/01/2014, 10:07
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 11 meses
Puntos: 193
Respuesta: Problema con plugin propio wordpress

1.- Nunca nunca hagas una conexión propia a DB.
2.- Usa las funciones nativas de WP, te sorprenderás cuando veas que ya existe una función nativa para lo que deseas hacer

Código PHP:
Ver original
  1. global $table_prefix;
  2.         $dbh = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST );
  3.         $table = $table_prefix.'options';
  4.         $query_title = "SELECT option_value FROM $table WHERE option_name = 'wp_cerenaproceso_title'";

Todo es se resume con algo así:

Código PHP:
Ver original
  1. $title = get_option( 'wp_cerenaproceso_title');

Esta función regresa el contenido de la opción o FALSE si no existe, con esto puedes hacer tu validación para saber si el valor existe o no.

Etiquetas: formulario, php, plugin, propio, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:03.