Cómo agregar un archivo .php a WordPress

22 ene 2012, 19:43:06
Vistas: 60.8K
Votos: 8

Tengo un archivo php en mi servidor (por ejemplo www.example.com/up/up.php). Si accedo a ese archivo a través de la URL, mi sitio dice que no se encontró la página. Sin embargo, quiero llamar a ese archivo php usando parámetros URL. Quiero llamar a ese archivo para descargar un archivo usando acceso URL (por ejemplo www.example.com/up/up.php?f=207). ¿Alguien puede ayudarme a hacer esto? Como es habitual, busqué durante varios días mi problema y vine aquí cuando me quedé totalmente acorralado.

Mi archivo up.php contiene el siguiente código

<?php /* Nombre de la Plantilla: Upload */ ?>


<?php
  $app_id = "12345678901234567890";
  $app_secret = "12345678901234567890";
  $post_login_url = "www.mysite.com";
  $album_id = "7777";
  $photo_url = "URL";
  $photo_caption = "fotos geniales";

  $code = $_REQUEST["code"];

  //Obtener el access_token con permiso publish_stream 
  if (!$code){ 
    $dialog_url= "http://www.facebook.com/dialog/oauth?"
      . "client_id=" .  $app_id
      . "&redirect_uri=" . urlencode( $post_login_url)
      .  "&scope=publish_stream";
    echo("<script>top.location.href='" . $dialog_url
      . "'</script>");
  } else {
    $token_url="https://graph.facebook.com/oauth/access_token?"
      . "client_id=" . $app_id
      . "&client_secret=" . $app_secret
      . "&redirect_uri=" . urlencode( $post_login_url)
      . "&code=" . $code;
    $response = file_get_contents($token_url);
    $params = null;
    parse_str($response, $params);
    $access_token = $params['access_token'];

    // POST al endpoint de la API de Graph para subir fotos
    $graph_url= "https://graph.facebook.com/" 
      . $album_id . "/photos?"
      . "url=" . urlencode($photo_url)
      . "&message=" . urlencode($photo_caption)
      . "&method=POST"
      . "&access_token=" .$access_token;

    echo '<html><body>';
    echo file_get_contents($graph_url);
    echo '</body></html>';
  }
?>

Debo pasar un valor a la URL usando un enlace

10
Comentarios

Deberías poder hacerlo, solo proporciona la ruta completa al archivo cuando lo llames.

Jared Jared
22 ene 2012 20:05:00

@Jared Di la URL completa pero termina con un error de página no encontrada... ¿debería agregar algún código a function.php sobre este archivo externo?

Felix Felix
22 ene 2012 20:23:40

Bueno, ¿dónde estás colocando el archivo, en la carpeta de tu tema activo?

Jared Jared
22 ene 2012 20:25:20

@Jared Lo coloqué en mi servidor. www.misitio.com/up/up.php

Felix Felix
22 ene 2012 20:27:11

¿Puedes explicar qué sucede cuando intentas llamar a este archivo?

Jared Jared
22 ene 2012 21:36:13

@Jared simplemente termina redirigiendo a otra página. Se supone que debe subir y luego redirigir. Pero solo está redirigiendo.

Felix Felix
22 ene 2012 22:06:37

Creo que esa es otra pregunta por sí misma, probablemente más adecuada para la comunidad de StackOverflow ya que tiene que ver con el código de Facebook y no con WordPress.

Jared Jared
22 ene 2012 22:17:08

@Jared publicó la pregunta en StackOverflow. Quiero saber una cosa, ¿puedo acceder a un archivo .php (up.php no up) desde WordPress??? Si pudiera, terminaré este trabajo yo mismo.

Felix Felix
22 ene 2012 22:24:29

Bueno, creo que funcionaría de la misma manera incluso si tuvieras la extensión .php. Creo que puede ser un conflicto con tus reglas de reescritura posiblemente, porque nunca he tenido problemas para acceder a un archivo PHP dentro de WP con la ruta al archivo.

Jared Jared
22 ene 2012 22:34:32

@Jared pero vi algunos sitios que usan la extensión .php para este trabajo y pasaron el valor a través de la URL y funcionó. ¿Entonces yo también debería crear un archivo .php y luego pasar el valor? ¿Podrías ayudarme??? Estoy tan cansado de buscar, pasé toda una semana buscando. Lo único que tengo es tiempo y lo estoy desperdiciando también

Felix Felix
22 ene 2012 22:41:05
Mostrar los 5 comentarios restantes
Todas las respuestas a la pregunta 3
13

Lo que puedes hacer es esto:

Coloca up.php en la carpeta de tu tema activo, y añade esta línea al principio de tu archivo up.php:

<?php /* Template Name: Up */ ?>

Crea una página llamada Up en el Escritorio de WordPress, luego en el lado derecho de la pantalla de edición de página, establece la Plantilla en 'Up'.

Dependiendo de lo que estés haciendo con este archivo, puede que necesites añadir más código para hacerlo completamente seguro, pero esto debería al menos resolver el problema de que puedas acceder/usar ese archivo.

Lee la página relevante del Codex de WordPress para más información:

http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates

22 ene 2012 20:32:46
Comentarios

Lo probaré ahora mismo :)

Felix Felix
22 ene 2012 20:34:00

@Felix ¡Avísame si te funciona!

Jared Jared
22 ene 2012 20:40:02

Ahora puedo acceder a la página PHP pero el código no funciona. Usé ese código en mi archivo de tema (single.php) y funcionó. Pero ahora no está funcionando. ¿Debería añadir algún código extra para eso??? Por cierto, el archivo php contiene <?php / Nombre de la plantilla: Up / ?> <?php líneas de código ?>

Felix Felix
22 ene 2012 20:44:18

@Felix Necesitaría ver el archivo completo up.php para identificar dónde está el problema. ¿Podrías actualizar tu pregunta incluyéndolo?

Jared Jared
22 ene 2012 20:49:20

@Felix Por cierto, luego accederías al archivo usando la URL de la página y no la URL del archivo PHP. Por ejemplo, si el slug de tu página fuera up, lo usarías así: http://tusitio.com/up?f=207

Jared Jared
22 ene 2012 20:52:51

Lo intenté colocando la URL completa en el campo de URL solo para verificar, no quería pasar los valores. Pero aun así no funcionó.

Felix Felix
22 ene 2012 20:59:27

lo siento, no sé cómo poner el código en formato :( está muy desordenado

Felix Felix
22 ene 2012 21:01:21

intenté poniendo la URL completa en ese lugar de URL con el propósito de verificar.así que no quería pasar los valores. pero aún así no funcionó

Felix Felix
22 ene 2012 21:11:12

@Felix ¿Puedes explicar qué hace para que determines que no está funcionando? Lo probé en localhost y el archivo se llamaba correctamente (pero tenía errores en el código).

Jared Jared
22 ene 2012 21:11:44

No funcionará para ti.Es un código PHP para subir imágenes al usuario de Facebook desde un sitio después de registrar nuestra aplicación en FB. Así que necesita el código API y el código secreto para funcionar. Usé ese código en mi archivo de plantilla del tema (single.php) asignando un valor a la URL y funcionó. Pero ahora no funciona cuando lo coloco aparte.

Felix Felix
22 ene 2012 21:14:49

@Felix Quizás necesites incluir wp_head() y wp_footer() en tu archivo, prueba eso y mira si hace alguna diferencia.

Jared Jared
22 ene 2012 21:20:38

:( no sirve de nada ese head y footer

Felix Felix
22 ene 2012 21:28:04

Ese código todavía funciona si lo pongo en mi archivo de plantilla. Lo verifiqué tres veces ahora :( pero no sé por qué no funciona en up.php supongo que debería crear un archivo PHP independiente fuera de WordPress y llamarlo

Felix Felix
22 ene 2012 21:36:29
Mostrar los 8 comentarios restantes
0

He encontrado una forma que uso regularmente para añadir mi propio código PHP a una página o publicación de WordPress mediante el uso de Shortcodes.

Primero, crea una página PHP llamada example.php en el directorio raíz de tu tema.

Escribe algo como:

<?php
echo "¡Hola! Soy un archivo PHP en la carpeta de plantilla de Wordpress!"
?>

Ahora añade el siguiente código a tu archivo functions.php:

function exampleFormInclude()
{
include( 'example.php' );
}
function exampleapp_func() {

ob_start();

exampleFormInclude();

$output = ob_get_contents();;
ob_end_clean();

return $output;
}
add_shortcode( 'exampleapp', 'exampleapp_func' );  

Ahora añade el shortcode [exampleapp] en tu página o publicación.
Listo.

18 jul 2015 23:27:11
0

1. Crea una página custom-page.php y guárdala en el directorio de tu tema. Ahora,

escribe la siguiente línea al inicio de la página

2.<?php /* Template Name: Página Personalizada */ ?>

3. Escribe tu código PHP debajo de la línea de definición de la página personalizada, puedes llamar a otras plantillas de WP, funciones dentro de este archivo.

Comienza con

4.<?php require_once("header.php");?> o

5. cualquier otra forma en que estés integrando tu encabezado y pie de página para mantener la coherencia del diseño.

6. Dado que esta es una página personalizada, DEBES CREAR UNA PÁGINA desde el panel de administración de WordPress. Ve a Administración => Páginas => Añadir nueva

7. Añade un título de página, dependiendo de cómo hayas codificado la página personalizada, también podrías añadir el cuerpo de la página (descripción). Puedes omitir completamente la descripción si está escrita en la página PHP personalizada.

8. En el lado derecho, selecciona Plantilla. Elige Mi Página Personalizada del menú desplegable. ¡Estás listo! Ve al slug (enlace permanente) creado por WordPress y ve la página.

6 feb 2019 13:06:33