2012-03-11 13 views
6

Este es mi primer intento de codificar un tema personalizado de WordPress y ya casi estoy allí. Hay algunos errores como los hay con cualquier cosa, pero he intentado algunas opciones diferentes para solucionarlos, pero sin éxito.¿Cómo puedo arreglar un tema personalizado de WordPress para trabajar con complementos?

El enlace es www.studiosimplicit.com/wp.

Mi primer problema es con el control deslizante nivo en la página de eventos (Www.studiosimplicit.com/wp/events). Inicialmente estaba teniendo un problema con el plugin en sí, donde las imágenes se apilan una encima de la otra. Para corregir esto, coloqué el código manualmente para llamar a los archivos nivo .js, y eso pareció solucionar ese problema. Pero ahora la imagen de carga está allí, pero las imágenes no se cargan.

He comprobado la URL de las imágenes y ese no es el problema. También habilité la función "post-thumbnails" (como se sugiere en el sitio web de nivoslider como una solución común a mi problema) pero parece que no lo ha solucionado. No vale la pena que cuando cambio a un tema predeterminado, el control deslizante funcione bien. Es cuando activo mi tema personalizado que se rompe.

Mi segundo problema es con un complemento que se supone que configura una imagen de fondo de pantalla completa, redimensionada automáticamente para ajustarse al ancho del navegador. Nuevamente, el complemento funciona cuando cambio a un tema predeterminado pero se rompe cuando cambio a mi tema personalizado.

Por favor ayuda!

Respuesta

18

Por su sonido, a su tema personalizado le faltan los ganchos comunes que permiten a los complementos alterar/dar salida a su código.

Para tomar un ejemplo simple, cada tema debe tener una llamada al wp_head() en algún lugar de la sección <head> de la página de salida. Esto permite que un complemento se "enganche" en su <head> y, por ejemplo, el código de salida para cargar su Javascript.

Aquí hay un ejemplo de la vida real. El tema de WordPress TwentyEleven tiene esto en su archivo header.php (tradicionalmente parte de un tema que da salida a la sección <head> de cualquier página):

... other <head> stuff 
    wp_head(); 
?> 
</head> 

El WP Nivo deslizante utiliza este código cuando llama wp_enqueue_script, por ejemplo, en su archivo wp-nivo-slider.php. Detrás de las escenas, wp_enqueue_script utiliza el gancho wp_head() en el tema TwentyEleven para dar salida al Javascript solicitado incluir en la sección <head> (a través de una ruta ligeramente tortuoso que termina en wp_print_head_scripts por defecto.)

Así que, básicamente, si funciona un plug-in con un tema proporcionado, pero no funciona con su tema personalizado, su tarea es encontrar los ganchos que faltan de su tema que el plugin está tratando de usar.

Si marca WordPress Theme Development documentation, encontrará una lista de los ganchos que los temas deben incluir en la sección "Plugin API hooks".Estos son, en concreto:

  • wp_head
  • wp_footer
  • wp_meta
  • comment_form

Los importantes para la mayoría de los plugins serán wp_head y wp_footer. Aquí es donde la mayoría Javascript se incluye, ya sea en el pie de página de la sección de cabeza o (justo antes de la etiqueta de cierre <body>.)

La mayoría de los plugins como deslizadores Javascript, galerías de imágenes, etc., simplemente añadir un nuevo guión o dos en la sección <head> o pie de página del sitio web, y tal vez incluir archivos CSS para dar formato a su contenido, nuevamente en la sección <head>, por lo que esos dos son generalmente los únicos ganchos que necesitan.

Por lo tanto, mi consejo inicial sería la de asegurarse de que su tema personalizado incluye una llamada a wp_head() al final de su sección <head> (copiar el código de ese tema de trabajo que tienes) y también una llamada a wp_footer(), justo antes de la etiqueta de cierre </body>. Es probable que eso active la mayoría de los complementos basados ​​en Javascript.

+0

¡Impresionante! Tan pronto como enchufé esos ganchos, todo comenzó a funcionar. Definitivamente una experiencia de aprendizaje para mí en términos de tematización wordpress. Ayuda que tuve un sitio web fácil de convertir a WordPress. Explicación muy detallada también. Aprecio tu tiempo y paciencia. ¡GRACIAS! – giwook

1

Sólo para que conste: tuve un problema similar y tuve que reemplazar la línea

<?php echo get_the_content() ?> 

con éste:

<?php echo the_content() ?> 

Pero también he tenido que incluir wp_head y wp_foot como se explica por Matt.

0

solo incluyen

<?php include_once(ABSPATH . 'wp-admin/includes/plugin.php'); ?> 
<?php wp_head()?> 

antes y después de la cabeza que va a asegurarse de trabajar.

Cuestiones relacionadas