Cómo definir variable personalizada en un theme

  • Autor Autor elargento
  • Fecha de inicio Fecha de inicio
elargento

elargento

Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
estoy haciendo un theme, y lo que quiero es definir una variable para despues utilizarla...

digamos

tengo varios botones de facebook, en vez de tener que colocar "facebook.com" en el href= de cada boton (osea href=www.facebook.com)...quisiera definir una variable al comienzo (llamemosla variable_A) de manera de solo colocar href=variable_A

alguien sabe la sintaxis para definir una variable personalizada, y para luego usarla?
 
Si deseas utilizar PHP:

PHP:
<?php
// El nombre de la variable tiene que ser unico y no tiene que estar establecida, para saber si esta definida
if(isset($variable_loquesea)){
echo "La variable esta definida y tienes que utilizar otro nombre como variable."
} else {
$variable_loquesea = "http://www.facebook.com";
}
?>
 
Última edición:
eso debo colocarlo en functions.php y se aplica globalmente a todo el template?
 
eso debo colocarlo en functions.php y se aplica globalmente a todo el template?

Correcto. y para llamar la variable dentro del código HTML tendrías que colocar ejemplo:

PHP:
<a href="<?php echo $variable_loquesea; ?>">Tu Enlace</a>
Suerte :driver:
 
mas especifico imposible, te agradezco mucho 🙂

EDIT: no me funciona

en lugar de mostrar en el href el valor de la variable (una direccion de facebook), lo que hace es linkearme a la propia web en wordpress...

alguien sabe porque?
 
Última edición:
mas especifico imposible, te agradezco mucho 🙂

EDIT: no me funciona

en lugar de mostrar en el href el valor de la variable (una direccion de facebook), lo que hace es linkearme a la propia web en wordpress...

alguien sabe porque?

Debería de funcionar, copia y pega todo el código que utilizas.
 
También puedes utilizarlo en la página que vayas a utilizar como index.php. O fijate que la página donde lo vas a usar este incluyendo (include) el archivo de funciones (functions.php).
 
tal cual me pusiste

en functions.php puse
Insertar CODE, HTML o PHP:
$variable_loquesea = "http://www.facebook.com";

en el header.php puse
Insertar CODE, HTML o PHP:
<a href="<?php echo $variable_loquesea; ?>">Tu Enlace</a>

Por alguna razon, el enlace no es el valor de la variable, sino que es la home de wordpress :S
 
Entonces coloca al principio de la pagina en la seccion header del archivo header.php:
PHP:
 <?php
// El nombre de la variable tiene que ser unico y no tiene que estar establecida, para saber si esta definida
if(isset($variable_loquesea)){
echo "La variable esta definida y tienes que utilizar otro nombre como variable."
} else {
$variable_loquesea = "http://www.facebook.com";
}
?>
 
el problema ha de estar en otra parte

una pregunta, cuando ves el codigo fuente html que te regresa el navegador te aparece algo asi:
<a href="">Tu Enlace</a>
o esto
<a href="miweb.com">Tu Enlace</a>
 
Otro detalle que creo que paso es que alomejor colocaste el codigo <?php ?> dentro del otro <?php ?> que ya viene en functios.php, lo recomendable seria ponerlo al principio de todo el codigo en cuanto comience con la etiqueta <?php
 
el codigo asi tal cual esta me tira error:
Parse error: syntax error, unexpected '}', expecting ',' or ';' in /wp-content/themes/smartone/header.php on line 5
sacando el else y el condicional, funciona a la perfeccion ahora

el tema es que me coloca el enlace con www pero sin http, pero no se donde configurar para que tome el http

estoy usando los mismos valores que estamos manejando (, etc)

-----------------------
el problema ha de estar en otra parte

una pregunta, cuando ves el codigo fuente html que te regresa el navegador te aparece algo asi:
<a href="">Tu Enlace</a>
o esto
<a href="miweb.com">Tu Enlace</a>
aparece
<a href="">Tu Enlace</a>
(ni rastros de la variable)

-----------------------------------
Otro detalle que creo que paso es que alomejor colocaste el codigo <?php ?> dentro del otro <?php ?> que ya viene en functios.php, lo recomendable seria ponerlo al principio de todo el codigo en cuanto comience con la etiqueta <?php
no, de hecho esta bien al principio de functions.php pero no hay caso (si lo coloco en el header.php si, pero no en el functions)
 
Última edición:
el codigo asi tal cual esta me tira error:

sacando el else y el condicional, funciona a la perfeccion ahora

el tema es que me coloca el enlace con www pero sin http, pero no se donde configurar para que tome el http

estoy usando los mismos valores que estamos manejando (, etc)

Prueba
PHP:
<php define("FACEBOOK", "http://www.facebook.com/.", true); ?>
y lo invocas con:
PHP:
<a href="<?php echo FACEBOOK; ?>">Facebook</a>
 
En tu archivo function.php tienes que declarar tu variable como global ANTES de usarla.

PHP:
global $txtURI
$txtURI = 'http://www.misitio.com'

En los archivos de tu tema, la usas normal:
PHP:
<a href="<?php echo $txtURI; ?>" rel="self">Mi sitio</a>

Fernando publicó en su blog una alternativa mas económica Acelera WordPress definiendo llamadas a funciones | Ayuda WordPress pero no funcionaría si pretendes distribuir tu tema, ya que los temas no tienen acceso al archivo wp-config.php.
 
No me funciona Xampp ni Wampp ni USBwebserve,r si no si lo resolviera en segundos. :biggrin:, Con el código de Sanchez Toledano no te olvides de poner ; al final de cada linea, (te creo capaz de no ponerlo :listen🙂
 
En tu archivo function.php tienes que declarar tu variable como global ANTES de usarla.

PHP:
global $txtURI
$txtURI = 'http://www.misitio.com'
si coloco ese codigo dentro de php recibo
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or '; en la linea
$txtURI = 'http://www.misitio.com'

No me funciona Xampp ni Wampp ni USBwebserve,r si no si lo resolviera en segundos. :biggrin:, Con el código de Sanchez Toledano no te olvides de poner ; al final de cada linea, (te creo capaz de no ponerlo :listen🙂
bueno...quien dijo que para comenzar con wordpress hay que ser experto en php?

tengo interes en aprender y la unica manera es solucionando estos inconvenientes asi aprendo el funcionamiento basico. He visto foros en ingles con mi mismo problema pero no aplicado a wordpress, por lo que no halle solucion.

O acaso pudiste resolver mi inconveniente? (te agradezco la ayuda, obviamente)

pd: hasta que no de con la causa no cedere 😛, porque si me pasara en un theme es una cosa, pero esta pasando en todos...
 
Jijiji mi culpa

Las comillas son mi terror.

Usa esto, no falla:

En functions.php
PHP:
function def_red () {
  return 'http://t1x.us';
}

Y en tu tema:
PHP:
<?php echo  def_red(); ?>">Red T1X</a>
 
Lo que no puedo creer es que no funcionan ninguno de los códigos. :bike:
 
Jijiji mi culpa

Las comillas son mi terror.

Usa esto, no falla:

En functions.php
PHP:
function def_red () {
  return 'http://t1x.us';
}

Y en tu tema:
PHP:
<?php echo  def_red(); ?>">Red T1X</a>

en lugar de mostrar el texto con el enlace, lo que muestra es el enlace y parte del texto que tendria que estar linkeado :S

http://t1x.us">Red T1X

Lo que no puedo creer es que no funcionan ninguno de los códigos. :bike:

quien me desarrollo el skin tampoco pudo encontrar la causa, pero lo probe con otro skin y es el mismo problema

ustedes han probado ya esta funcion de crear variables en functions y utilizarlas en algun php? o soy yo el unico loco con problemas? :S
 
Atrás
Arriba