Advertencia al usar <?php include 'thefile.php'; ?>

20 nov 2011, 06:13:47
Vistas: 24K
Votos: 1

Necesitaría más ayuda con esto

Hice una pregunta sobre cómo importar código con PHP, en este caso es una barra lateral que se usará en algunas páginas del sitio web. Es WordPress y puede ejecutar PHP desde posts/páginas y también lo he probado directamente en el código principal

Cuando hice la pregunta, lo más fácil y mejor sería crear un archivo y usar include

Creé thefile.php y lo coloqué en el directorio del tema donde están todos los demás archivos .php utilizados. En el archivo solo puse algo de HTML básico como

<div id="the-id"> 
      <p> un texto de prueba </p>
</div> 

Luego puse el código include escrito como se muestra a continuación en mi plantilla

<?php include 'thefile.php'; ?>

Al hacer esto veo mi texto "un texto de prueba" pero también obtengo varias advertencias

Warning: include(/wp-content/themes/thetheme/thefile.php) [function.include]: failed to open stream: No such file or directory in /home/cplac/public_html/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()'d code on line 22

Y también esto

Warning: include() [function.include]: Failed opening '/wp-content/themes/thetheme/thefile.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php:/home/cplac/public_html/wp-content/plugins/wpsyndicator:/home/cplac/public_html/wp-content/plugins/wp-external-links/includes/phpQuery/:/home/cplac/public_html/wp-content/plugins/wp-external-links/includes/phpQuery/plugins/') in /home/cplac/public_html/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()'d code on line 22

¿Alguien puede ayudarme con esto? ¡He probado tanto en páginas como en los archivos del tema y demás!

php
0
Todas las respuestas a la pregunta 3
1

El método en WordPress para incluir archivos php es utilizar esta función:

<?php get_template_part('myfile'); ?>

lo que incluirá el archivo myfile.php que se encuentra en el mismo directorio de la plantilla.

Consulta http://codex.wordpress.org/Function_Reference/get_template_part para otros parámetros.

20 nov 2011 07:08:59
Comentarios

Dado que el OP (@Mathias) está usando WordPress como framework, este sería realmente el mejor método.

Johannes Pille Johannes Pille
20 nov 2011 08:32:16
2

Necesitas agregar /home/cplac/public_html/ a tu ruta de inclusión.

20 nov 2011 06:19:32
Comentarios

Gracias, eso lo resolvió :D

User User
20 nov 2011 06:24:33

@MathiasÅsberg, Deberías marcar esta respuesta como la respuesta aceptada, si resolvió tu problema. Por favor lee las Preguntas Frecuentes: http://stackoverflow.com/faq

User User
20 nov 2011 06:45:39
3

include es como

include = 'thefile.php';

por otro lado, también necesitas especificar la ruta correcta al archivo desde el nivel raíz o el nivel adyacente donde reside el archivo.

Digamos que pongo un archivo en mi carpeta "images" en el servidor como ejemplo. Y la ruta al archivo sería /images/thefile.php

así que con eso el include se vería como

include = '/images/thefile.php';

edición como nota aparte, trabajar con WP a veces puede ser engorroso... pero en general WP es PHP así que lo que funcione en PHP funcionará con WP en general.

para ti, basado en el error, podría ser algo como...

include = '/wp-content/themes/thetheme/thefile.php';

Pero necesitarías, desde tu FTP o equivalente, navegar a esa ruta de archivo y subir el archivo ahí.

20 nov 2011 06:18:36
Comentarios

1) La sintaxis de include está bien sin paréntesis. 2) ¿A qué es relativo "/images"?

User User
20 nov 2011 06:20:45

Tienes razón... Simplemente estoy muy acostumbrado a escribir con una sintaxis diferente debido a los MVC que uso últimamente. Y images era solo un ejemplo... nada más

User User
20 nov 2011 06:23:32

¡Hasta donde sé, esto es totalmente incorrecto! Esto provoca un error de sintaxis en PHP. include es una palabra clave, no puedes asignarle nada.

Mike Mike
5 oct 2018 09:06:54