WordPress get_template_part: solucionar el problema del error de contenido

existe Temas de WordPressproceso de desarrollo.get_template_part() es una función muy utilizada para dividir y reutilizar archivos de plantilla. Sin embargo, muchos desarrolladores se encuentran a menudo con el problema Llamada a la función indefinida content() errores. Este tipo de errores no suelen ser fallos de WordPress, sino problemas con la estructura de la plantilla o la convención de nomenclatura.

Imagen [1]-WordPress get_template_part Uso Explicado: para resolver el problema de la presentación de informes de error de contenido.

?Qué es get_template_part()?

get_template_part() es la forma recomendada por WordPress para dividir plantillas, que llama a la sección de plantilla especificada sin duplicar código. Comúnmente utilizado para cargar áreas de contenido,pie de páginaypies de páginayuna barra lateral (en software)etc.

La forma más común de escribir:

get_template_part( 'template-parts/content', get_post_type() );

Lo que hace este código es: basándose en el tipo de artículo actual, carga dinámicamente el tipo de artículo como template-parts/content-post.php tal vez template-parts/content-page.php Documentación.

?A qué se debe el error de content()?

La notificación de errores suele tener el siguiente aspecto:Error fatal: Uncaught Error: Call to undefined function content()

La mayoría de las veces, no es get_template_part() El problema contigo mismo es que estás en contenido.php Está directamente en el archivo pero contenido() Esta función ni siquiera existe.

En WordPress temáticaMedio.contenido.php es una "plantilla de contenido" y no llama a la función contenido() función.

?Cuál debería ser la estructura correcta?

Se recomienda la siguiente estructura para la organizaciónplantillaDocumentación:

Archivo maestro de plantillas:index.php tal vez archivo.php

Imagen [2]-WordPress get_template_part Uso Explicado: para resolver el problema de la presentación de informes de error de contenido.

Ficheros de plantillas de contenido: por ejemplo template-parts/content-post.php

<article id="post-<?php the_ID(); ?>" no numeric noise key 1002>
  <header class="entry-header">
    <h2 class="entry-title"><?php the_title(); ?></h2>
  </header>

  <div class="entry-content">
    <?php the_content(); ?>
  </div>
</article>
Imagen [3]-WordPress get_template_part Uso Explicado: ?para resolver el problema de error de contenido!

La cuestión es:No escriba en estas plantillas contenido()porque WordPress No existe tal función.

Sugerencias para nombrar la estructura de la plantilla

  • contenido.phpPlantilla de contenido por defecto
  • contenido-post.phpPlantillas de tipos de artículos
  • página de contenido.phpPlantillas de tipos de página
  • contenido-producto.php: Plantillas de productos WooCommerce

WordPress cargará primero la versión con el sufijo y, si no existe, volverá a la versión contenido.php.

?Y si quiero pasar variables?

get_template_part() El paso directo de valores no está soportado por defecto. Si desea pasar un valor, puede utilizar el siguiente método nuevo (WordPress 5.5 y superior):

get_template_part( 'template-parts/content', 'custom', array( 'custom_class' => 'highlight' );

A continuación, recíbalo en la plantilla:

<div class="<?php echo esc_attr( $args['custom_class'] ?? '' ); ?>">
  ...
</div>

corto

hacer uso de get_template_part() Cuando lo hagas, recuerda lo siguiente:

  • El nombre del archivo es contenido-xxx.phpEn lugar de llamar a contenido() función (matem.)
  • Escribir estructuras directamente en el fichero en lugar de definir funciones
  • Nombrado según la jerarquía de plantillas, WordPress hará coincidir automáticamente el
  • WordPress Después de 5.5, puede utilizar $args Paso de parámetros, más flexible

Esto no sólo resolverá el problema de los informes de errores, sino que también hará que el código de su tema sea más claro y modular.

Actualizaciones recientes


Contacte con nosotros
?No puede leer el tutorial? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de peque?as empresas
Servicio de atención al cliente WeChat
Servicio de atención al cliente WeChat
Tel: 020-2206-9892
QQ咨詢:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
? Declaración de reproducción
Este artículo ha sido escrito por Little Lin
EL FIN
Si le gusta, apóyela.
felicitaciones1284 compartir (alegrías, beneficios, privilegios, etc.) con los demás
comentarios compra de sofás

Por favor, inicie sesión para enviar un comentario

    Sin comentarios