Название | El gran libro de desarrollo de plugins WordPress |
---|---|
Автор произведения | Jhon Jairo Rincón Cardona |
Жанр | Математика |
Серия | |
Издательство | Математика |
Год выпуска | 0 |
isbn | 9788426734709 |
Ganchos de acción o Action hooks II
IMPORTANTE:
El resultado final de este ejemplo podremos verlo desde un servidor remoto y no local. La razón es que el servidor local no posee la función sendmail, para ello se debe instalar y ajustar nuestro servidor local Wampserver. Podemos hacerlo si buscamos en internet cómo enviar un correo desde un servidor local.
Ejemplo 2
En esta segunda parte veremos otro ejemplo para los ganchos de acción. Aquí crearemos una función donde el administrador de un sitio web recibirá un email que notificará la creación de un nuevo post, con los datos del autor que lo ha creado, el título del post y la dirección url.
Para ello utilizaremos el do_action(‘save_post’).
Del gancho save_post, obtendremos el id del post y toda la información del post, entonces crearemos nuestro gacho de acción y la función:
Para ver todos los action hooks y saber en qué orden cargan, podemos ir a la web de WordPress:
https://codex.wordpress.org/Plugin_API/Action_Reference/
wp_is_post_revision
Esta función determina si la publicación especificada es una revisión.
Parámetros
• $post
( int | WP_Post ) (obligatorio) ID de publicación u objeto de publicación.
Retorna
(int | false) ID del padre de la revisión en caso de éxito, falso si no es una revisión.
Con el condicional:
Estamos diciendo que, si el post es una revisión, se haga un return y no se continúe ejecutando el código que hay debajo. Pero si el post no es una revisión, entonces el código que hay debajo se ejecutará.
Las variables de más abajo se obtendrán a través del parámetro $post recibido en la función.
Por ejemplo, para obtener el id del autor, instanciaremos el valor $post_ author, que forma parte del array de objetos del parámetro o la variable $post. Para ver los objetos que forman parte de esta variable, simplemente debemos utilizar un var_dump($post). Sería algo así:
Ahora vamos a entradas en nuestro panel de administración->entradas y haremos clic en añadir nueva. Veremos lo siguiente:
Estos son todos los objetos que hay dentro del array.
Funciones de WordPress
A continuación, analizaremos las funciones de WordPress que utilizaremos para obtener determinados valores.
Con la primera función get_the_author_meta() obtendremos el nombre del autor y el email que almacenaremos en las variables $author_id y $name_ autor
get_the_author_meta
Esta función recupera los datos solicitados del autor de la publicación actual.
Parámetros
• $field
( cadena ) (Opcional) El campo de usuario para recuperar. Valor por defecto: ‘’
• $user_id
( int | false ) (Opcional) ID de usuario. Valor predeterminado: falso.
Los valores válidos para el campo $field son:
• admin_color
• aim
• comment_shortcuts
• description
• display_name
• first_name
• ID
• jabber
• last_name
• nickname
• plugins_last_view
• plugins_per_page
• rich_editing
• syntax_highlighting
• user_activation_key
• user_description
• user_email
• user_firstname
• user_lastname
• user_level
• user_login
• user_nicename
• user_pass
• user_registered
• user_status
• user_url
• yim
Con la segunda función get_permalink() obtendremos el link del post y solo debemos pasar el id del post.
La tercera función get_option() recupera un valor de opción basado en el nombre de una opción. Si la opción no existe o no tiene un valor, el valor de retorno será falso.
Los valores de opción de uso más común son los siguientes:
• ‘admin_email’ - Dirección de correo electrónico del administrador del blog.
• ‘blogname’ - Título del weblog; establecido en Opciones generales.
• ‘blogdescription’ - Lema para tu blog; establecido en Opciones generales.
• ‘blog_charset’ - Codificación de caracteres para tu blog; establecido en Opciones de lectura.
• ‘date_format’ - Formato de fecha predeterminado; establecido en Opciones generales.
• ‘default_category’ - Categoría de publicación predeterminada; establecido en Opciones de escritura.
• ‘home’ - La dirección web del hogar del blog; establecido en Opciones generales.
• ‘siteurl’ - Dirección web de WordPress; establecido en Opciones generales.
• Advertencia: Esto no es lo mismo que get_bloginfo( ‘url’ )(que devolverá la url de la página de inicio), sino como get_bloginfo( ‘wpurl’ ).
• ‘template’