MIG400
Zeta
Redactor
Verificación en dos pasos activada
Verificado por Whatsapp
<?php
if ( !strstr($post->post_name, 'online') ) :
?>
Aqui tu ad code
<?php
endif;
?>
[MENTION=35299]MIG400[/MENTION] puedes hacerlo asi
PHP:<?php if ( !strstr($post->post_name, 'online') ) : ?> Aqui tu ad code <?php endif; ?>
Hola, mil gracias por responder!.
Tengo algunas dudas:
1- Eso toma el título del post?
2- Sí es así, ¿no se puede hacer con la URL?
3- Como podría concatenar varias palabras con una condición OR estilo "Online" or "vivo" or "streaming", etc
:encouragement:
<?php
if ( !preg_match('/(online|vivo|streaming)/', $post->post_name) ) :
?>
Aqui tu ad code
<?php
endif;
?>
1- post_name es lo que usa para la url (el titulo es post_title)
2- respondido en la 1
3- podrias usar switch PHP: switch - Manual
<?php $flag++; ?> /* Bandera, igual a 1 para mostrar anuncios, igual a 2 para NO mostrarlos */
<?php
if ( !strstr($post->post_name, 'online') ) : /* Consulto sí existe "/category/" */
?>
<?php
switch !strstr($post->post_name): /* Está bien expresado el Switch? */
case "online":
<?php $flag++; ?>
break;
case "streaming":
<?php $flag++; ?>
break;
case "vivo":
<?php $flag++; ?>
break;
endswitch;
?>
<?php
endif; /* Cierro el if que engloba el switch y que me permite saber sí existe se encuentra en la carpeta "/Category/"*/
?>
<?php if ($flag == 1) : ?> /* Sí llego aquí la bandera valiendo 1 es que no encontró ninguna de las keys prohibidas */
MUESTRO LOS ANUNCIOS
<?php endif; ?>
switch !strstr($post->post_name):
[MENTION=35299]MIG400[/MENTION]
Use el slug y no el titulo del post
y si quieres agregar mas palabras puedes hacerlo asi
PHP:<?php if ( !preg_match('/(online|vivo|streaming)/', $post->post_name) ) : ?> Aqui tu ad code <?php endif; ?>
Bien!, veo que es como el "Select case" de Visual Basic.
Una cosa, yo necesito que sí el dominio tiene "/category/" y la palabra "online" simultáneamente. por ejemplo: "midominio.com/category/canciones-online/" NO muestre el anuncio.
Insertar CODE, HTML o PHP:<?php $flag++; ?> /* Bandera, igual a 1 para mostrar anuncios, igual a 2 para NO mostrarlos */ <?php if ( !strstr($post->post_name, 'online') ) : /* Consulto sí existe "/category/" */ ?> <?php switch (!strstr($post->post_name)): /* Está bien expresado el Switch? */ case "online": <?php $flag++; ?> break; case "streaming": <?php $flag++; ?> break; case "vivo": <?php $flag++; ?> break; endswitch; ?> <?php endif; /* Cierro el if que engloba el switch y que me permite saber sí existe se encuentra en la carpeta "/Category/"*/ ?> <?php if ($flag == 1) : ?> /* Sí llego aquí la bandera valiendo 1 es que no encontró ninguna de las keys prohibidas */ MUESTRO LOS ANUNCIOS <?php endif; ?>
Está bien la condición?Tengo dudas sí lo escribí bien.Insertar CODE, HTML o PHP:switch !strstr($post->post_name):
Aclaro que en el IF podría consultar por cualquier carpeta, no solo "/category/", es un ejemplo. Sí hay algo que no se entiende díganme.
1- switch (!strstr($post->post_name))
2- para detectar la categoria, puedes usar: is_category() (https://codex.wordpress.org/Function_Reference/is_category)
3- ten en cuenta que $post->post_name es para post (en tu caso single.php)... si quieres ver si el nombre de la categoria tiene la palabra online es con: https://codex.wordpress.org/Function_Reference/get_category
Necesito que evalue cualquier carpeta que venga después del ".com/", no solo categorías. Perdón, di ese ejemplo pensando que la solución iba a ser universal.
Este código lo necesito poner en el Main index template. Hay forma de leer la URL desde allí?
Para que te funcione en cualquier lugar... usa $_SERVER['REQUEST_URI'] eso te da la url. entonces comparas contra esa url a ver si tiene palabras claves que no quieras usar y demas...
Si quieres un code mas personalizado: Get the full URL in PHP - Stack Overflow
Bárbaro, voy a consultar por $_SERVER['REQUEST_URI'] siempre entonces. Mañana pruebo y les cuento como me fue. :encouragement:
- - - Actualizado - - -
Bueno, actualizo:
Me funcionó muy bien el $_SERVER['REQUEST_URI'], [MENTION=9679]cicklow[/MENTION] veo que no trae la parte "midominio.com", solo lo que viene luego. No importa, porque es justo la parte que me hace falta.
En lugar de usar "strstr" como me había propuesto [MENTION=36180]hugo1[/MENTION] me decanté por "strpos" solo porque leí por ahí que consume menos memoria.
Ya lo tengo casi listo, solo estoy refinando un poco el código.
¿Podría armar una función a la que le pase como parámetros las palabras "prohibidas" y me devuelva true o false sí las encontró?
Sí alguno tiene un enlace donde expliquen como crearlas(las funciones) e implementarlas en Wordpress me vendría bien ya que no tengo idea. No se si van en un archivo aparte, tipos de argumentos que hay (opcionales u obligatorios), etc.
Mil gracias a los dos, no lo hubiera podido hacer sin ustedes.
si te fijas en el link que te di, tenes como obtener TODA la url completa...
Sí gracias igual, como te decía antes, la parte que trae es la que necesito.
Sí quisiera usarla, la función a la cual haces referencia, se escribe en el mismo archivo PHP donde estoy trabajando?.
sisi. tnes varios ejemplos, puedes colocar la funcion en functions.php y acceder a ella desde todo el theme o en donde la quieres usar
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?