Cómo crear una página de script PHP personalizada

4 may 2014, 01:46:56
Vistas: 25.9K
Votos: 4

Estoy tratando de ejecutar un script PHP que está ubicado en el directorio raíz de WordPress.

Por ejemplo run.php

<?php echo 'estoy ejecutándome'; ?>

Quiero ejecutar esta página en la URL mysite.com/run.php pero muestra un error 404 no encontrado, aunque el archivo run.php está ubicado en esa dirección.

¿Qué estoy haciendo mal?

php
2
Comentarios

Por lo general, WordPress no interfiere con el acceso directo a archivos de ese tipo, siempre y cuando no haya conflictos de nombres, así que sospecho que hay algo peculiar en tu sitio. Esa es una pregunta diferente a si esto es una buena idea o no, y normalmente no lo es. Por favor, explica con más detalle lo que estás intentando lograr.

s_ha_dum s_ha_dum
4 may 2014 05:00:11

Generalmente hablando, hay 2 (buenas) opciones en WordPress: 1) Colocar tu código para ejecutar en el archivo functions.php del tema activo (ubicado en wp_content/themes/<nombre del tema>/ O 2) Crear un plugin y poner tu código en el plugin y activarlo. Recomendaría empezar leyendo aquí... http://codex.wordpress.org/Functions_File_Explained

bestprogrammerintheworld bestprogrammerintheworld
4 may 2014 10:18:55
Todas las respuestas a la pregunta 3
0

Si quieres añadir una página personalizada en WordPress, necesitas agregar tu archivo PHP personalizado en la carpeta del tema actualmente activo ( /wp-content/themes/ ).

Supongamos que tienes un tema hijo. Coloca el archivo en la carpeta del tema hijo. Luego ve a la sección de páginas, haz clic en Añadir nueva.

En Atributos de página, elige Plantilla como tu archivo PHP.

Abre el archivo Page.php, está disponible en la carpeta del tema. Copia todo excepto el encabezado y pégalo en tu archivo PHP. Tu archivo PHP debe incluir los siguientes códigos.

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

<?php get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
        <?php
        // Inicia el bucle.
        while ( have_posts() ) : the_post();

            // Incluye la plantilla de contenido de la página.
            get_template_part( 'template-parts/content', 'page' );

            // Si los comentarios están abiertos o tenemos al menos un comentario, carga la plantilla de comentarios.
            if ( comments_open() || get_comments_number() ) {
                comments_template();
            }

            // Fin del bucle.
        endwhile;
        ?>

    </main><!-- .site-main -->

    <?php get_sidebar( 'content-bottom' ); ?>

</div><!-- .content-area -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>
27 feb 2017 21:36:37
0

Ubica el archivo en la carpeta de tu tema.

En caso de que alguien aquí desee ejecutar un script PHP accediendo a las funciones de WordPress, es necesario incluir wp-load.php como se describe aquí. Aquí tienes un código para comenzar:

<?php
// obtener la ruta a wp-load.php desde el script actual
$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );    
require_once( $parse_uri[0] . 'wp-load.php' );

$current_user = wp_get_current_user();
    if ( 0 == $current_user->ID )
        echo "hola no-registrado";
    elseif (!in_array('administrator', $current_user->roles)) 
        echo "hola usuario";
    else
        echo "hola administrador";

?>
22 mar 2021 12:59:28
0

Las respuestas que obtuviste están bien, pero si realmente deseas usar un archivo PHP personalizado en la raíz de la instalación de WordPress (para una página especial, API o algo más) sin usar una plantilla estándar o un archivo AJAX, entonces necesitas esto:

<?php
/*
 * Este es tu archivo PHP personalizado, úsalo para lo que necesites.
 */
 
/* Desactivar el tema de WP para este archivo (opcional) */
define('WP_USE_THEMES', false);

/** Carga el entorno de WordPress. */
require __DIR__ . '/wp-load.php';

/* ====================================

COLOCA AQUÍ CUALQUIER CÓDIGO PHP QUE DESEES 

======================================= */

Generalmente, al llamar a wp-load.php estás cargando el núcleo completo de WordPress en ese archivo PHP. Lo único que queda es trabajar con él y listo.

22 mar 2021 13:09:23