Hola, me ayudan a entender está línea de código?

  • Autor Autor kenyis
  • Fecha de inicio Fecha de inicio
kenyis

kenyis

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, estoy usando Wordpress y quiero poner una caja de suscripción al final de cada artículo, para eso busqué mucho código y me topé con el siguiente código, el código funciona de maravilla, es un plugin, que se puede activar o desactivar y dentro pones la caja de suscripción.

Bueno, pero lo que quiero es entenderlo, es decir que es diww? en que parte dice que está caja va al final de cada artículo y como hacen para mostrarlo? que significa la parte de: return $content; y add_filter ('the_content', 'diww_add_post_content', 0);??

Gracias por su ayuda!

PHP:
<?php function diww_add_post_content($content) {
	if (is_single()) {
		$content .= '<p><div id="newsletter-box">Please subscribe to <a title="Do More With WordPress" href="http://www.doitwithwp.com/go/newsletter">our newsletter</a></div></p>';
	}
	return $content;
}
add_filter ('the_content', 'diww_add_post_content', 0);

- - - Actualizado - - -

Otra consulta, quiero poner otro código debajo de eso, como puedo hacerlo?
 
El "diww" que mencionas es solo por llamarlo así.

La función se llama diww_add_post_content y lo que hace la función es agregar ese div al final del $content y como añadimos el filtro add_filter ('the_content', 'diww_add_post_content', 0); le estamos diciendo que es el contenido del post, por lo que el div antes mencionado ira depués del contenido del post.

Saludos
 
function diww_add_post_content($content) {
Solo por llamarlo asi, diww no es nada especial

if (is_single()) {
Solo cuando sea un post

$content .= '<p><div id="newsletter-box">Please subscribe to <a title="Do More With WordPress" href="http://www.doitwithwp.com/go/newsletter">our newsletter</a></div></p>';

Esto es el div, si quieres agregar mas, puedes ponerlo aqui mismo
ejemplo:
PHP:
$content .= '<p><div id="newsletter-box">Please subscribe to <a title="Do More With WordPress" href="http://www.doitwithwp.com/go/newsletter">our newsletter</a></div></p>';

$content .= '<div> ESTE ES OTRO DIV, QUE QUIERO AGREGAR A MI GUSTO, COMO YO QUIERA </div>';

$content .= '<h1> Y PODRE AGREGAR TODO LO QUE A MI SE ME DE LA REGALADA GANA  XD </h1>';

return $content;
Retornamos nuestro codigo que queremos agregar

add_filter ('the_content', 'diww_add_post_content', 0);
Un filtro en el contenido, lo cual ya vienen PRE-FABRICADOS por wordpress.
Entonces este filtro hace la funcion manipular el contenido...

$content ya existe y contiene todo el contenido del post
Por eso es que dentro de la funcio estamos declarando una concatenacion
$content .= "MIRA BIEN EL PUNTO"

No estamos declarado una variable nueva, ya que eso haria que se perdiera todo el contenido del post
$CONTENT = "UPS ERROR--- TE FALTO EL PUNTO"
 
Muchas gracias a los dos, ya me quedo claro 😀
 
Muchas gracias a los dos, ya me quedo claro 😀

Un placer amigo, me alegra que ye haya quedado claro la funcion y como agregar mas codigo HTML.
Saludos.

PD: para agregar contenido antes del contenido deberia ser algo asi
PHP:
$content = "<div> MI CODIGO </div>". $content;
 
Una aclaración: el "diww_" no está por las puras, ni es un capricho del programador, es un prefijo, y es MUY IMPORTANTE al momento de agregar código en wp. ¿Por qué? Porque todas las funciones que creas en el scope global del proyecto tiene el potencial de crear conflicto con otras funciones con el mismo nombre, especialmente si usas nombres genéricos como 'add_post_content', se le añade el prefijo para que el nombre de esa función sea ÚNICA...
 
Hola, vuelvo a abrir este post, porque me surge una duda, como puedo hacer si por ejemplo quiero mostrar ese código no al final del post, sino al comienzo? como indico la posición? (otra cosa, en este caso como se indica la posición que debe ir al final?)

Gracias por su ayuda.
 

Temas similares

Jhon de la Vega
Respuestas
0
Visitas
229
Jhon de la Vega
Jhon de la Vega
Atrás
Arriba