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

Warning al crear mi primer plugin de Wordpress

Estas en el tema de Warning al crear mi primer plugin de Wordpress en el foro de WordPress en Foros del Web. Hola, quiero aprender a hacer plugins de Wordpress, y conozco el lenguaje PHP, el problema es que no domino mucho las funciones y orientado a ...
  #1 (permalink)  
Antiguo 21/07/2015, 10:52
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 12 años
Puntos: 1
Warning al crear mi primer plugin de Wordpress

Hola, quiero aprender a hacer plugins de Wordpress, y conozco el lenguaje PHP, el problema es que no domino mucho las funciones y orientado a objetos y creo que me van a hacer falta.

El caso, mi primer programa es muy simple:
Código PHP:
Ver original
  1. <?php
  2. /*
  3. Plugin Name: [SUMAR]
  4. Description: [PLUGIN DE PRUEBA]
  5. Author: [BRAVO]
  6. Version: 1.0.0
  7. */
  8.  
  9.  
  10. add_action('the_content', 'suma');
  11.  
  12. function suma($a,$b){
  13.    
  14.     if(is_page()){
  15.         $resul=$a+$b;
  16.       return $resul;
  17.     }
  18. }
  19.  
  20. echo $s=suma(5,6);
  21.  
  22.  
  23. ?>

Una vez instalado el pluging y demás me da este error:

Warning: Missing argument 2 for suma() in C:\AppServ\www\wordpress\wp-content\plugins\plugin-prueba\prueba.php on line 12
0


No se que puede ser, y seguro que es muy facil, pero no domino mucho el tema de funcinones.

Gracias!
  #2 (permalink)  
Antiguo 21/07/2015, 13:35
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Warning al crear mi primer plugin de Wordpress

¿Sabes PHP pero no sabes funciones? entonces no sabes PHP, tienes una remota idea de que es PHP.

En fin, lo primero que debes entender al trabajar con WordPress es su API, actions y filters.

https://codex.wordpress.org/Writing_a_Plugin
https://codex.wordpress.org/Plugin_API

Lo que estas haciendo no tiene ningún sentido, primero agregar un hook al contenido del post, ese hook ejecuta automáticamente la función suma y luego quieres ejecutar la misma función manualmente. mal mal y mal

Primero debes entender que son los hooks https://platzi.com/blog/hooks-wordpress/ y luego intentar aplicar tu logica usando el plugin https://platzi.com/blog/crear-plugin-wordpress/
  #3 (permalink)  
Antiguo 21/07/2015, 15:33
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 12 años
Puntos: 1
Respuesta: Warning al crear mi primer plugin de Wordpress

Pues aunque no lo creas he realizado algunas aplicaciones web con php y consulta de base de datos en mysql sin crear funciones php. Puede que no sea un experto, pero se algo de php.

Gracias por los links
  #4 (permalink)  
Antiguo 22/07/2015, 05:14
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 12 años
Puntos: 1
Respuesta: Warning al crear mi primer plugin de Wordpress

Bueno, consigo hacer una suma al al ejecutar un hook al contenido. Se que no tiene sentido, solo estoy haciendo pruebas para ver que pasa.

Código PHP:
Ver original
  1. function suma(){
  2.     if(is_page()){
  3.         $resul=2+3;
  4.         return $resul;
  5.     }
  6. }
  7. add_action('the_content', 'suma');

Y eso me devuelve 5 como es lógico. Pero ¿y si quiero pasar un parametro a esa función suma? como la paso?
  #5 (permalink)  
Antiguo 22/07/2015, 11:49
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: Warning al crear mi primer plugin de Wordpress

Y ese parámetro vendría de donde?

de la url usa $_GET, si es por post pues usa $_POST y si es algún valor relacionado a la pagina que estas visualizando usa la función adecuada según el tipo de valor y la documentación de wordpress.

vamos que adivinos no somos y wordpress tampoco.

Etiquetas: plugin
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 09:52.