Con lo que vimos en la Parte I y Parte II ya tendríamos integrado y funcionando perfectamente los dos programas, WordPress y PrestaShop.
En esta parte vamos a ser un poco mas metódicos y perfeccionistas. Si nos damos cuenta nuestra plantilla de WordPress trabaja en HTML5 y PrestaShop no, con lo que tendríamos conflictos a la hora de ejecutar un validador de código. También nos damos cuenta que nos han desaparecido las cabeceras de WordPress y no tendremos las meta etiquetas, cosa que no nos vendrá nada bien a la hora de intentar posicionar nuestra web.
Para empezar vamos a corregir las diferentes versiones que tenemos en nuestros gestores, para ello vamos a modificar el archivo header.tpl de PrestaShop y le indicaremos que si estamos en el blog use HTML5 y sino use la versión de PrestaShop, para solucionar esto lo pondremos con un if como hacíamos en la parte II dejando el archivo header.tpl como sigue:
{$dir=$smarty.server.PHP_SELF} {if strpos($dir,"/blog/")===0} <!DOCTYPE html> {else} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}"> {/if}
Con esto tendremos solucionado el problema de las diferentes versiones, si estamos utilizando otra plantilla que no sea la twentytwelve puede que no sea necesario realizar este paso, primero hay que comprobar si dicha plantilla usa o no HTML5.
Para solucionar el tema de las metaetiquetas tendremos que crear un modulo, podemos hacerle como vimos en la entrada crear un modulo para PrestaShop,
Empezamos por crear una carpeta llamada modulowp dentro de la carpeta modules de PrestaShop. A continuación nos creamos el archivo modulowp.php que sera el encargado de ejecutar el modulo, lo primero que hacemos es inicializar el modulo con el siguiente código:
<?php if (!defined('_PS_VERSION_')) exit; class modulowp extends Module { public function __construct() { $this->name = 'modulowp'; $this->tab = 'Modulo en la cabecera'; $this->versión = 0.1; $this->author = '3W Soluciones Web'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Modulo cabecera WordPress'); $this->description = $this->l('Modulo cambia la cabecera añadiendo etiquetas de WordPress.'); } public function install() { return (parent::install() AND $this->registerHook('displayMyNewHook')); }
Hay que fijarse que en la función install no hemos llamado a ningún Hook que ya existe en PrestaShop sino que nos hemos declarado el nuestro que se llamara displayMyNewHook.
A continuación creamos la función que se llamara al instalar el modulo en displayMyNewHook, añadiendo el siguiente código:
public function hookDisplayMyNewHook($params) { global $smarty; $dir= $_SERVER['PHP_SELF']; if(strpos($dir,"/blog/")!==false){ wp_head(); }
No nos hace falta llamar a ningún archivo .tpl porque la función wp_head() directamente imprime las metaeqtiquetas de WordPress.
Con esto lo único que nos haría falta seria entrar en la administración de PrestaShop y en la sección de Módulos->Módulos buscar nuestro modulo e instalarle.
Ya estaría instalado y funcionando nuestro modulo, pero no le hemos indicado donde queremos que se visualice el modulo, para ello modificamos el header.tpl de PrestaShop y añadirle la siguiente línea antes del </head> para que se visualicen dichas etiquetas:
{hook h='displayMyNewHook'}
Con esto dariamos por finalizada la integración de PrestaShop y WordPress.
Ante todo muchas gracias por la guia, me ha sido de gran utilidad. He integrado totalmente mi blog con mi tienda prueba, pero al cargar el módulo en el back office me apareceeste fallo.
El siguiente módulo(s) no se pudo cargar:
modulowp (parse error en /modules/modulowp/modulowp.php)
modulowp (la clase que falta en /modules/modulowp/modulowp.php)
Si me puedes ayudar a arreglarlo me será de gran ayuda.
Gracias de nuevo!
Hola, me alegro que te sea de utilidad. Por lo que dices tiene toda la pinta de que el modulo no esta bien hecho, comprueba que el nombre del modulo y el constructor sea igual que el nombre de la carpeta y el archivo, incluido mayusculas y minusculas. En esta pagina tienes un archivo con el modulo funcionando http://www.aula5centrodeestudios.com/integrar-prestashop-wordpress-facilmente-parte-ii/
Un saludo
Hola,
Todo me funciona perfecto excepto la instalación del modulo.Tengo el mismo problema que hace tiempo comento Victor respecto a la instalación del modulo. A mi también me sale el mismo error que le salia a él:
El siguiente módulo(s) no se pudo cargar:
modulowp (parse error en /modules/modulowp/modulowp.php)
modulowp (la clase que falta en /modules/modulowp/modulowp.php)
He probado con la solución que le comentas a él pero en mi caso parece no funcionar ya que el nombre esta identico tanto en el archivo php como en la carpeta del modulo… ¿Sabes que podría ser? Utilizo la version 1.5.6 de prestashop.
Muchas gracias.
Hola, normalmente suele ser por el nombre del modulo, de la clase y de los archivos que deben coincidir y ser exactamente iguales, tanto mayusculas como minusculas. En http://www.prestashop.com/forums/topic/233513-integrar-wordpress-y-prestashop-facilmente/ y https://www.aula5centrodeestudios.com/integrar-prestashop-wordpress-facilmente-parte-ii/ tienes los archivos para descargarlos en los que incluye el modulo en concreto funcionando.
Un saludo.
Hola, como has creado el link del «blog»? Tienes que crearlo desde el menu en la seccion inferior donde pone » añadir un nuevo enlace».
Un saludo
Hola,
El link del blog lo tengo creado desde el modulo blocktopmenu desde el apartado que dice "Añade un enlace del menu principal". En el apartado etiqueta puse "Blog" y en el apartado enlace "blog". ¿Esta bien creado?
Un saludo.
Tengo este mismo problema, me encuentro con estos dos problemas.
Gracias por las indicaciones he conseguido que funcione correctamente pero me surge el siguiente problema.
Con el <title> puesto que coge siempre el de la página origen en lugar del blog. Generando tantas duplicidades como entradas tengamos en el blog.
¿ como se puede solucionar esto ?
Quedo en espera de su ayuda.
Atentamente. Juan M.
No se si has seguido bien los pasos, pero eso no deberia de pasar, en el blog debe salirte solo un
Puedes revisar los pasos o ver esta entrada en la que solo tienes que descargar y copiar los archivo: http://www.aula5centrodeestudios.com/integrar-prestashop-wordpress-facilmente-parte-ii/
Un saludo
Hola, la integración me funciona muy bien para el diseño…
pero con el title no me funciona correctamente, me pone el title general de la tienda en vez de ponerme el title de cada articulo….
Necesito instalar algun modulo seo en wordpress??? no entiendo porque puede ser…
Saludos y gracias
Nosotros tenemos instalado el SEO ultimate y funciona perfectamente.
Un saludo
En primer lugar, gracias por los post, me han sido de gran ayuda, aunque como soy bastante profana en la materia y tengo algunos problemas para configurar correctamente la plantilla twenty twelve. Pido disculpas si alguno de ellos es bastante obvio.
Él primero, es que necesito que se muestre el sidebar derecho, o una columna derecha con los widgets (categorías, últimas entradas, etiquetas…) Ahora mismo a parecen pero al final de cada entrada.
El segundo es la forma en que se muestran los post en la página principal. Yo quería que se mostrara una foto y un resumen del post, igual que en la plantilla original twenty twelve, pero se muestran los textos completos a pesar de que he especificado que se muestre un resumen (en Ajustes–> Lectura)
Finalmente, en los titulares de los post se muestran al lado derecho de las fotografías. ¿Puede ser porque las imágenes no tienen el ancho completo de la página y son más pequeñas o porque hay que configurar algo? Además, bajo la imagen de cada entrada sale el texto "Deja una respuesta" y no queda demasiado bien, ¿podría quitarlo?
Gracias de antemano por vuestra atención y ayuda. Un saludo
Por lo que vemos lo que tienes que hacer es modificar la hoja de estilos style.css del tema de wordpress para que asi salga el sidebar derecho en su sitio, ademas de los titulares de las fotos a la derecha de estas. Todo eso se hace modificando la hoja de estilos style.css.
Para que se muestre un resumen del post en lugar del post entero te aconsejo que lo hagas a mano y cuando quieras que no se muestre mas insertar un leer mas con el boton «Insert more break», para hacer esto tienes que tener instalado el plugin Ckeditor.
Un saludo.
Gracias, lo intentaré 🙂
En primer lugar agradecer el aporte porque es muy útil. De hecho lo implementé en mi sitio web pero me surge una duda. En mi caso no he conseguido hacer que en caso de estar en el blog el título de la página aparezca correctamente. Siempre me sale la misma cadena de texto (el nombre de la web). Lo ideal sería que saliera el título del post o del sitio de wordpress. Tengo PS 1.5.3.1 y WP 3.5.2.
PD: he usado modulowp pero no soluciona el problema. Sé que el truco estará en poner algún condicional en el header.tpl de PS para que cuando estemos en el blog cargue alguna variable de WP para mostrar el título.
Saludos y gracias de antemano
Hola, me laego que te haya sido útil. Si tienes instalado el plugin SEO Ultimate no tendras ningun problema con los titulos, si tienes el de Yoast entonces hay que hacer unas modificaciones en el header de wordpress y prestashop para que salgan los titulos correctamente.
Un saludo.
Como puedo ver un ejemplo de integracion de blog WP con Prestashop? Actualmente tengo un blog instalado pero son 2 paginas distintas e inconexas y me gustaría que apareciesen las ultimas entradas del blog de alguna manera en mi presta.
Gracias
En nuestra pagina la seccion del blog esta realizada en wodpress y el resto esta realizado en prestashop.
Un saludo
Hola,
He conseguido integrar wordpress en mi web de prestashop, pero noconsigo que los módulos que tengo visibles en toda la tienda, se puedan ver también en la ventana del blog ¿Cómo puedo conseguirlo?
Gracias
Tiene todas las pintas de que esta mal integrado, en el navegador vete al blog y en menu Ver->Codigo fuente buscas la linea que pone body, si pone
esta bien si pone o similar esta mal.Un saludo.
Buenas noches, quiero intergar mi tienda virtual con mi wordpress, estoy utilizando la version 1.5.6.1 de prestashop y la version 3.9.1 dce wordpress.
Sigo cada uno de los pasos pero no he logrado hacer nada ya que cuando los llevo a cabo y quiero acceder al blog, me lleva a la pagina principal del sitio.
Estoy urgido! Muchas gracias por su respuesta.
Nota: Tengo un tema personalizado de prestashop.
Hola.
Sabeis si con la plantilla por defecto de prestashop 1.6 tambien puedo integrarlo con wordpress 3.9.1 ?
Un saludo y muchas gracias.
Si, lo haces paso a paso y con cuidado si se puedes, nuestra web asi esta realizada.
Un saludi
Hola, he integrado WP en Prestashop 1.6 (tema Transformer) y, salvo algún ajuste menor de CSS que he tenido que hacer, ha funcionado. Pero me encuentro con el problema de que cuando abro el blog, no me aparece el menú de Prestashop. ¿Alguna idea para solucionarlo?
Muchas gracias
Felicidades por este artículo.
Puede ser por algun problema con las cookies o de variables globales, prueba a poner
global $smarty;
global $cookie;
en el archivo header.php de tu tema de wordpress
Un saludo.
He probado a ponerlo como comentas:
<?php
global $smarty;
global $cookie;
require_once(dirname(__FILE__).'/../../../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../../../header.php');
?>
<link rel='stylesheet' href="/blog/wp-content/themes/20-13-mpt/style.css" type="text/css" media="all" />
Pero sigue igual. ¿Alguna otra pista?
Gracias!
No se me ocurre gran cosa, comprueba que el modulo no este oculto en las «page not found» en modulos->posiciones.
Un saludo.
Muchas gracias por tu aportación.
Creo que lo hago todo correctamente, de hecho no me da ningun fallo, pero al inserlar la ultima linea
{hook h='displayMyNewHook'} dentro del header.tpl la web me desaparece….
En cuanto la borro vuelve a aparecer…
¿donde estoy metiendo la pata?
Gracias
Has comprobado que el modulo que se crea este instalado?? esa linea lo que hace es visualizar el modulo.
Un saludo.
Hola, nuestra pagina, el blog esta realizado en wordpress y el resto en prestashop. Se podria hacer lo que pasa que el menu lo tendrias que hacer en prestashop a mano de la misma forma que se pone el enlace a «blog».
Hola
1. Se inserta en el header.tpl, se pone en los dos pasos que te falta, deberas cambiar donde pone blog po blogwp
2. Se deberian de poder instalar bien.
Estupendo, gracias !!
Ya me carga todo bien.
Ese fichero se encuentra en wp-includes y se llama admin-bar.php, si usas por ejemplo dreamweaver puedes buscar en la carpeta del blog el texto que quieras y te dice en que fichero se encuentra.
Un saludo
Lo primero, darte las gracias por éste tutorial. Leyendo los comentarios que te han dejado, me pasa algo similar a alguno de tus lectores pero con el footer.
En un principio se me descuadraba la cabecera también pero añadiendo
global $smarty,
global $cookie;
se ha solucionado. He intentado lo mismo con footer.php pero sigue descuadrado. Como lo soluciono? Tocando el style.css de wp?
Por otro lado, me sigue dando error al instalar modulowp. Lo he copiado tal cuál lo has puesto y aparentemente no hay problemas con los nombres de las variables.
Muchas gracias por adelantado.
Que error te da al instalar el modulo, asegurate de que el nombre del modulo es el mismo que el nombre del archivo y de la carpeta donde esta guardado, incluyendo las mayusculas. Es importante el modulo pues te incluye los estilos y scripts de wordpress en el blog.
Comprueba tambien que esta bien la integracion y al ver el blog en.el codigo fuente pone body id=»blog».
No es necesario las lineas de global en el footer.
Comprueba que no hayas metido en el if mas lineas de la cuenta o borrado alguna.
Un saludo.
Hola!
muchas gracias por todo. Parece que ya se ve correctamente, pero ahora tengo problema con el menú. Desde la tienda al pinchar en blog llego al blog, pero una vez allí no me sale marcado el color del hover, sale todo el menú en el color por defecto. Si estando en el blog paso el ratón por encima de alguna de las categorías se pone del color secundario y me abre el submenú, pero ese submenú se queda fijo. Es decir, si ahora me posiciono sobre otra categoría el submenú no cambia y además, tapa parte de la entrada del blog.
No se si me he explicado bien, así que te dejo el link por si pudieras ayudarme a solucionarlo. destinobebe.es/blog/
Mil gracias por tu ayuda y tu tiempo.
Hola. Lo del menu hover tienes el menu por defecto?? me parece una modificacion del que viene con prestashop. Lo que comentas del menu (al situarte encima ….) es por problemas de prestashop 1.6 si te fijas en las lineas del codigo fuente de tu web 307-453 estan repetidas al final de todo 547-813 y ademas se cargan dos veces el jquery
script type=»text/javascript» src=»/js/jquery/jquery-1.11.0.min.js»
script type=»text/javascript» src=»http://destinobebe.es/blog/wp-includes/js/jquery/jquery.js?ver=1.11.0″
Habria que modificar los archivos responsables de esto para evitar que ocurra.
Muchas gracias,
la verdad es que no tengo ni idea y estoy avanzando a base de prueba y error.
No entiendo a qué te refieres con que si es el menú por defecto. Creo que no he tocado nada en wordpress, más que lo que indicabas. Lo de las líneas repetidas, puede ser. Voy a eliminarlas y ver si se arregla.
lo del jquery, me suena a chino. Ahí si que no he tocado nada, por qué puede ser que se llame dos veces? Con eliminar una de las dos llamadas también se solucionaría? Voy a probar.
Mil gracias!
Hola de nuevo.
Finalmente conseguí arreglar el problema del topmenu y ya se ve con normalidad sin que se quede atascado. Lo único que me queda pendiente es lo del hover de la palabra blog. He instalado firebug y me dice:
«NetworkError: 404 Not Found – destinobebe.es/themes/default/css/global.css» en global.css
Seguro que es una tontería, pero estoy muy perdida. Entiendo que tiene muchas cosas que hacer mejores que responder comentarios (también tengo otro blog y a veces es pesado responder a modo de consultorio), pero se lo agradecería enormemente ya que seguro que es capaz de ayudarme a solucionarlo en un momento y a mi puede llevarme días.
Muchas gracias por adelantado.
Hola, me alegro que al final consiguieras arreglar el problema del topmenu, como bien dices hay veces que se pierde mucho tiempo para hacer algo, en este caso nosotros tenemos el modulo de integración de WP y PS a un precio que consideramos economico y si no funciona lo hacemos manual.
A lo que ibamos, el error ese es porque pone default y tu usas PS 1.6 y seria default-bootstrasp, de todas formas repasa la integracion pues en el codigo fuente la linea 50 y 53 te sobran, estan repetidas.
Para lo del menu no estas haciendo nada mal, simplemente es asi, o no esta explicado como hacer lo que dices, para hacer lo que dices hay que modificar el archivo blocktopmenu.php aproximadamente en la linea 543 dentro del caso LNK pone algo como
habria que añadir unas lineas y modificar esa para dejaro asi:
Con esto deberia de ponerse el efecto Hover en el blog.
Un saludo.
Hola,
muchas gracias por tu ayuda! Siento ser tan pesada, pero debo de estar haciendo algo muy mal porque no veo cambios. Pensaba que el problema era que no estaba entrando en el if y no se colocaba el nuevo valor para $selected, pero es que ni aún forzándolo se ve como debe ser. Por lo que veo en éste blog si ha funcionado correctamente.
Esto es un nunca acabar :_(
Hola, Por lo que veo es como si no funcionase el if pues si te pone el espacio extra de $selected, prueba a poner el if con != en lugar de !==
No, no me pone el espacio extra. Pero si donde pones $selected pongo class=»sfHover» directamente tampoco lo pone. Es como si no estuviese pasando por ese código. El archivo es el / httpdocs / modules / blocktopmenu / blocktopmenu.php verdad? a ver si estoy tocando dónde no es…
Muchísimas gracias por tu ayuda, de verdad. Siento mucho ser tan pesada…
Hola, ese es el archivo que debes modificar sobre la linea 543 aproximadamente, y si te esta poniendo el espacio extra, si te vas a ver codigo fuente en el «li» te pone dos espacios. de todas formas puedes dejarlo asi para probar:
de esta forma saldria siempre seleccionado, no te olvides de vaciar la cache en prestashop dentro de rendimiento.
Estoy forzando la compilación y borrando la caché del navegador pero no veo nada. Sustituyo la linea en cuestión por el párrafo y me queda tal que
case ‘LNK’:
$link = MenuTopLinks::get((int)$id, (int)$id_lang, (int)$id_shop);
if (count($link))
{
if (!isset($link[0][‘label’]) || ($link[0][‘label’] == »))
{
$default_language = Configuration::get(‘PS_LANG_DEFAULT’);
$link = MenuTopLinks::get($link[0][‘id_linksmenutop’], $default_language, (int)Shop::getContextShopID());
}
$dir = $_SERVER[‘PHP_SELF’];
$selected = ‘ ‘;
if(strpos($dir,»/blog»)!==false){
$selected= ‘class=»sfHover»‘;
}
$this->_menu .= ‘‘.Tools::safeOutput($link[0][‘label’]).’‘.PHP_EOL;
}
break;
}
}
}
y nada de nada. Creo que lo acabaré dejando por imposible 🙁
Mil gracias
Perdón que no se por qué al copiarlo ha desaparecido la mitad :
$this->_menu .= ‘‘.Tools::safeOutput($link[0][‘label’]).’‘.PHP_EOL;
Solucionado!! Mil gracias 😀 Al parecer era problema de la cache, que no se estaba borrando bien. Muchísimas gracias por tu tiempo!
Hola, me laego que al final se solucionase. Copia solo la mitad porque el «li» y el «a» lo esta convirtiendo a enlace y lista, para evitar esto normalmente se mete entre etiquetas pre
Un saludo.
Hola,
no consigo visualizar el blog de WordPress en la tienda de Prestashop. Me sale la pantalla en blanco. ¿Qué hago mal?
Gracias
¡Solucionado!
He puesto el modo debug en TRUE (defines.inc.php) para ver los errores y he visto que había funciones en el módulo del Revolution que tenían el mismo nombre que otras funciones de WordPress.
He cambiado los nombres de las funciones, a parte también de unas constantes, y ahora ya me funciona correctamente.
¡saludos!
Muchas gracias por toda la ayuda, ya tengo, integrado el WordPress con prestashop, solo me falta una cosa por hacer y no consigo de ninguna manera, que es cambiar el color de fondo a otro que no se blanco, ni entrando en el CMS de WordPress->tema->fondo y poniendo el código exadecimal (#C7C78A) que quiero me lo coja.
Por si es necesario añado la dirección
Saludos
Olvidate de tema->fondo o tema-> «configuracion» ahora esta integrado con prestashop y no cogera las opciones del tema, para eso tienes que modificar el style.css a mano, creo que segun he visto en la linea 525 pone
Muchas gracias por tu respuesta, ahora mismo me pongo a mirar que lineas mas tengo que modificar
Buenos días,
quiero agradecerte de nuevo toda la ayuda que me prestaste el otro día para integrar wordpress en prestashop.
Perdona que te moleste de nuevo, pero con la nueva actualización he creado un tema hijo (algo que debería haber hecho desde el principio) y me he dado cuenta de que si cambio los archivos header y footer para que importe los de la tienda pierdo los botones sociales (llevaba días tratando de averiguar por qué no me salían), pero si dejo la cabecera y el footer de la plantilla por defecto los veo sin problemas.
A que podría ser debido? Se te ocurre alguna solución?
Muchas gracias!
Hola, lo he comprobado con el movil y si que se veian los logotipos de las redes sociales. Si tienes un tema y actualizas el tema es posible que el header tambien se cambie, no es aconsejable que copies el antiguo pues es posible que tenga alguna novedad, lo mejor es volverlo a integrar, solo son unas lineas. Lo mismo pasa con temas diferentes, si tienes un tema y cambias a otro tema distinto no puedes copiar el header pues entonces el nuevo tema no funcionara bien, cada tema tiene un header diferente.
Un saludo.
Hola,
tengo un problema, he realizado la integración sobre 1.6 y en el blog no me sale la columna de la izquierda de prestashop y tampoco el breadcrumb, he comprobado todos los pasos y no se ver el problema, alguna idea? la web es https://vibrantis.es/blog
gracias de antemano
Hola, en principio la columna de la izquierda de prestashop no debe salir, se podria hacer que salga modificando el header.tpl de prestashop.
Un saludo.
Hola buenas,
he hecho la integración con Prestashop 1.6 y WordPress 4.1 y parece que todo está correcto. Lo único que parece no estar bien es el título en cualquier página del blog, que siempre pone <<Error 404 – "nombre de mi tienda">>. He realizado todos los pasos correctamente, no se que puede ocurrir, ¿alguien sabe a que es debido y como solucionarlo? Gracias de antemano.
Has instalado algun modulo SEO como el «SEO Ultimate», creo que con eso funcionaria bien.
Un saludo.
Me ocurre exáctamente lo mismo que a Adrián con PS 1.6 y WP 4.1
Sobre la recomendación de instalación de SEO Ultimate ¿te refieres al plugin de WordPress o al módulo de PrestaShop?
Hola. Comprueba que esta funcionando el modulo que hay que hacer, con el modulo funcionando no debe de dar problemas y con el plugin SEO ultimate tampoco.
Un saludo.
Muchas gracias, con el plugin SEO Ultimate funciona perfectamente!
Tras muchas vueltas he dado con la tela. Una solución algo chusca pero me funciona. No es necesario instalar el módulo (uso directamente la función wp_head(), que al parecer no devuelve el <title>:
{$dir=$smarty.server.PHP_SELF}
{if strpos($dir,"/prestashop/blog/")!==false}
<!-- COMIENZA WORDPRESS -->
{if is_home()}
{$titulo = get_bloginfo('name')}
{else}
{$titulo = get_the_title()}
{/if}
<title>{$titulo}</title>
{wp_head()}
<!-- TERMINA WORDPRESS -->
{else}
<!-- COMIENZA PRESTASHOP -->
<title>{$meta_title|escape:'html':'UTF-8'}</title>
{if isset($meta_description) AND $meta_description}
RESTO DE CODIGO DE HEADER.TPL
Olvidé comentar que en mi instalación (en local) la ruta a prestashop es /prestashop, y la blog, por tanto, es /prestashop/blog
Para mi sitio en producción la 2ª línea del código será:
{if strpos($dir,"/blog/")!==false}
Tambien puedes usarlo en local y funcionara.
Tienes en wordpress una funcion que es wp_title(), entonces puedes borrar el if y dejar solo lo de {$titulo=wp_title()}
De todas formas como indica Adrian con el «SEO Ultimate» funciona sin hacer nada.
Un saludo.
Tengo el mismo problema que Juan y Adrián (Error 404 en el title), pero no me funciona el código que propone Juan, y el SEO Ultimate no aparece en el buscador de modulos… Esto con prestashop 1.6,
Es en el buscador de plugin de WordPress.
Buenas, quería preguntar si alguien sabe porque se me queda el prestashop en blanco. El blog esta bien, de hecho, los dos estaban bien, pero force la recompilación en prestashop y desde entonces sale en blanco.
sale el blog bien y el prestashop no?? lo normal sería que no saliera ninguno, comprueba que no te has comido nada, una llave o algo parecido, Si lo has repasado pon los errores de prestashop a ver que mensaje te da
Hola, que tal, muchas gracias por toda la información de integración pero tenia dos preguntas que hacer:
1. En el blog no me aparece el menu superior, como lo pongo?
2. Lo de las etiquetas y demás creo que no funciona correctamente. Esto es lo que tengo en el código fuente donde puse el {hook h='displayMyNewHook'}
<meta charset="utf-8" />
<title>Blog</title>
<meta name="description" content="Página no encontrada" />
<meta name="keywords" content="error, 404, No se ha encontrado" />
<meta name="generator" content="PrestaShop" />
No se si deberia aparecer lo de "Página no encontrada" y si es bueno para el SEO…
Gracias de antemano
Hola, con respecto al menu, cual usas? el que viene por defecto funciona bien y no hay problemas.
Lo de las etiquetas te pasa lo mismo que adrian, juan tienes que instalar el «SEO Ultimate» de wordpress y con eso te funcionaran bien.
Estaba utilizando el menu por defecto pero debí hacer algo mal porque luego me dí cuenta de que no aparecía el menú en ninguna parte de prestashop ni del blog.
Una pregunta, ¿con el SEO Ultimate se soluciona el problema de las etiquetas, pero se puede instalar también el wordpress seo by yoast?, es que he leído que ayuda muchísimo al seo del blog; ¿se solucionaría el problema de las etiquetas utilizando el wordpress seo by yoast?
Hola, con el SEO ultimate si se solucionan los problemas de las etiquetas, es parecido al de yoast pero con el de yoast no funciona tendrias que hacer algo como indica Juan en unos comentarios anteriores.
Un saludo.
Hola muy buenas. Lo primero gracias por los post que ayudan mucho. Acabo de hacer la integracion, instalado seo ultimate y parece que funciona todo bien, pero tengo una pequeña duda con esto:
[IMG]http://i59.tinypic.com/2u59pu0.jpg[/IMG]
Es normal que ponga eso??
Hola, lo normal es que te ponga en la descripcion y keyword lo que tu has puesto en las casillas de Tittle Tag y Meta Descripcion de la entrada. Una vez instalado, tienes que ir a la entrada y rellenar esas dos casillas.
Acabo de editar la entrada y sigue igual, ¿alguna solución?
Tienes bien instalado el modulo que hay que hacer en prestashop? parece como si no funcionase, si le tienes instalado y funcionando y has instalado SEO Ultimate y no funciona (es raro pues suele funcionar), prueba lo que ha puesto juan
Buenas,
me ocurre exactamente lo mismo que a Hilario. Uso prestashop 1.6.0.11 y wordpress 3.5.1 con seo ultimate instalado. He instalado el módulo en prestashop, por cierto la versión del módulo que se indica al inicio de este hilo es válida para PS 1.6? Funciona todo correctamente, coge bien el css, excepto el problema con los meta
He observado que más adelante en el head sí aparecen todos los meta de WP correctamente. Dejo una captura: https://www.dropbox.com/s/r2w80smlyxwikx8/IntegracionWP_problemaMetas.png?dl=0 Además una vez que instalo el módulo en PS crea un área en blanco en el top de la página.
El título si se muestra bien gracias al módulo seo ultimate.
un saludo
Hola, debido a que a muchos usuarios os pasa lo mismo con las nuevas versiones de prestashop hemos publicado una entrada con la sonlucion https://aula5centrodeestudios.com/errores-al-integrar-wordpress-prestashop concretamente es el punto 2. En principio el modulo es valido para todas las versiones.
Un saludo.
Muchas gracias por la respuesta, esto soluciona el problema de los metadatos.
un saludo
Saludos!
Muchas gracias por la guía!
Estoy integrando WordPress en Prestashop 1.6, y me he quedado en el primer paso donde explican que hay que cambiar el código del header y footer de WordPress, y dejarlo tal que así:
HEADER:
FOOTER:
El problema es que al hacer esto, y subir los ficheros obtengo este error al cargar el Blog y tras habilitar el debug (si no lo habilito se queda la pantalla en blanco):
Warning: require_once(/home/user/public_html/misitio.com/blog/wp-content/themes/twentyfifteen/../../../../config/config.inc.php): failed to open stream: No such file or directory in /home/user/public_html/misitio.com/blog/wp-content/themes/twentyfifteen/header.php on line 2
Fatal error: require_once(): Failed opening required ‘/home/user/public_html/misitio.com/blog/wp-content/themes/twentyfifteen/../../../../config/config.inc.php’ (include_path=’.:/usr/lib/php:/usr/local/lib/php’) in /home/user/public_html/misitio.com/blog/wp-content/themes/twentyfifteen/header.php on line 2
Yo me imagino que el problema está en la ruta, pero es que no sé qué tengo que cambiar en el código para que vaya a la ruta correcta. Me da a mi que es una tontería… ¿Alguna idea?
P.D: Aprovechando el tema, ¿Qué opinais del módulo SmartBlog? Tiene muy buena pinta la verdad.
Gracias!
Disculpad, no salío el código del header y footer, pero bueno es el que ponéis en vuestro tutorial.
Gracias!
Me autorespondo, el problema era la ruta como me pensaba, ya que tengo la tienda en /tienda, así que la linea de código correcto a poner era este:
HEADER:
require_once(dirname(__FILE__).»/../../../../tienda/header.php»);
FOOTER:
require_once(dirname(__FILE__).»/../../../../tienda/footer.php»);
El problema que tengo ahora, es que al ir a misitio.com/blog me redirige automáticamente a misitio.com/tienda
¿Alguna idea de qué tengo que tocar?
Gracias!
Nada… error mío de nuevo.
Tengo la tienda en misitio.com/tienda e instalé el WordPress en misitio.com/blog cuando lo debería haber instalado en misitio.com/tienda/blog
WordPress se debe instalar en el mismo directorio donde tengas Prestashop.
Ahora funciona, lo dejo como solucionado por si alguien se lía con lo mismo.
Saludos.
Enhorabuena por tus tutoriales.
He seguido todos vuestros pasos para integrar WP con PS y después de haber modificado los ficheros header.php y footer.php me muestra este error:
Notice: Undefined property: Theme::$id in /var/www/html/prestashop/classes/Validate.php on line 714
[PrestaShopException]
Current theme unselected. Please check your theme configuration.
at line 117 in file config/config.inc.php
112. /* Initialize the current Shop */
113. try {
114. $context->shop = Shop::initialize();
115. $context->theme = new Theme((int)$context->shop->id_theme);
116. if ((Tools::isEmpty($theme_name = $context->shop->getTheme()) || !Validate::isLoadedObject($context->theme)) && !defined(‘_PS_ADMIN_DIR_’)) {
117. throw new PrestaShopException(Tools::displayError(‘Current theme unselected. Please check your theme configuration.’));
118. }
119. } catch (PrestaShopException $e) {
120. $e->displayMessage();
121. }
122. define(‘_THEME_NAME_’, $theme_name);
require_once – [line 3 – bloggers/wp-content/themes/jupiter/header.php]
require_once – [line 562 – bloggers/wp-includes/template.php] – [1 Arguments]
load_template – [line 521 – bloggers/wp-includes/template.php] – [2 Arguments]
locate_template – [line 45 – bloggers/wp-includes/general-template.php] – [2 Arguments]
get_header – [line 8 – bloggers/wp-content/themes/jupiter/page.php]
include – [line 89 – bloggers/wp-includes/template-loader.php] – [1 Arguments]
require_once – [line 16 – bloggers/wp-blog-header.php] – [1 Arguments]
require – [line 17 – bloggers/index.php] – [1 Arguments]
Me podrías ayudar?
Tiene pinta de que hubieras cambiado el nombre del tema o borrado el que estabas usando.
Que yo sepa no, tambien tienes el modulo smartblog.
puedo usar el smart blog con la integracion de wordpress?
gracias
Hola, en principio no se puede usar smart blog con la integracion de wordpress pues smart blog es un blog diferente a wordpress que no tiene nada que ver.
Un saludo.
Mi problema es sencillo, he seguido todos los pasos, mi tienda http://www.muchoplastico.com se ve sin problemas, ahora bien, en el pie de pagina tengo el enlace http://www.muchoplastico.com/blog, hasta aqui ningun problema pero cuado voy al blog la cabecera desaparece, no asi el pie de página. A mi personalmente, me gustaria que el blog se viera en el cuerpo central de la tienda, y las columnas de la izquierda y la derecha fueran inamobibles. Pero me conformo con que salga la cabecera de la tienda.
Gracias
P.D. Un modulo genial enhorabuena!!!!!
Es como si te faltase la cabecera de la pagina, pues no hay ni las etiquetas html, head, body, etc.. comprueba que has hecho lo de la entrada
https://aula5centrodeestudios.com/integra_wordpress_prestashop_ii/
He verificado la parte II, pero esta todo bien! Tal y como se indica en el tutorial. Te paso como lo tengo:
Utilizo Leo Theme Big Store, asi queda:
header.php
header.tpl
.
.
.
{* Dentro de la etiqueta /head *}
{hook h=’displayMyNewHook’}
.
.
.
{* Despues de la etiqueta /head *}
{$dir=$smarty.server.PHP_SELF}
{if strpos($dir,»/blog/»)===0}
{else}
{/if}
{if strpos($dir,»/blog/»)!==false}
{else}
{/if}
Gracias, y saludos
P.D. La web prestashop esta en la raiz del servidor
Lo que no entiendo es porque pones dos if uno ===0 y otro !==false, de todas formas no te carga las etiquetas html ni head con lo que creo que el problema puede estar en el header.php de wordpress que no este funcionando correctamente.
Pues no lo entiendo, a no ser que sea problema del tema configurado en prestashop, que es el Leo Theme Big Store
buenas noches muchas gracias por esta guia que sigue funcionando aunque los archivos de los modulos creo ya no existen para descargarlos
tengo un problema al dar click en las categorias desde el blog wordpress se crean urls asi : midominio.com/blog/categoriadeproducto y esto genera un error 404 como puedo corregir esto que no se meta el blog entre las categorias de los productos
muchas gracias
Hola, en principio los archivos no han estado nunca para la descarga, lo que hay es un enlace a otra entrada indicando como se crea un modulo. Para solucionar lo de los enlaces (supongo que tienes un tema diferente al de por defecto en el que si funciona) de las categorias habria que modificar el modulo de prestashop para poner una barra / delante del enlace o algo similar.
Un saludo.
[…] A la hora de integrar WordPress en PrestaShop pueden salir mal muchas cosas, si bien la mayoría son problemas a la hora de copiar el código explicado en las entradas integrar-prestashop-wordpress integra_wordpress_prestashop_ii integrar-prestashop-wordpress-parte-final […]