Как создать пользовательский PHP скрипт в WordPress

4 мая 2014 г., 01:46:56
Просмотры: 25.9K
Голосов: 4

Я пытаюсь выполнить PHP скрипт, который находится в корневой директории WordPress.

Например run.php

<?php echo 'я запущен'; ?>

Я хочу запустить эту страницу по URL mysite.com/run.php, но получаю ошибку 404 не найдено, даже несмотря на то, что файл run.php находится по этому адресу.

Что я делаю не так?

php
2
Комментарии

Обычно WordPress не мешает прямому доступу к файлам, если нет конфликтов имен, поэтому я подозреваю что-то особенное в вашем сайте. Это отдельный вопрос от того, хорошая ли это идея или нет, и обычно это не так. Пожалуйста, объясните более подробно, чего вы пытаетесь достичь.

s_ha_dum s_ha_dum
4 мая 2014 г. 05:00:11

В общем случае в WordPress есть 2 (хороших) варианта: 1) Разместить (ваш) код для выполнения в файле functions.php активной темы (находится в wp_content/themes/<название темы>/ ИЛИ 2) Создать плагин, поместить ваш код в плагин и активировать его. Я бы рекомендовал начать с чтения здесь... http://codex.wordpress.org/Functions_File_Explained

bestprogrammerintheworld bestprogrammerintheworld
4 мая 2014 г. 10:18:55
Все ответы на вопрос 3
0

Если вы хотите добавить пользовательскую страницу в WordPress, вам нужно добавить свой собственный PHP-файл в папку текущей активной темы (/wp-content/themes/).

Предположим, у вас есть дочерняя тема. Поместите файл в папку дочерней темы. Затем перейдите в раздел страниц, нажмите Добавить новую.

В атрибутах страницы выберите шаблон как ваш PHP-файл.

Откройте файл Page.php, он доступен в папке темы. Скопируйте всё, кроме шапки, и вставьте в свой PHP-файл. Ваш PHP-файл должен содержать следующий код:

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

<?php get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
        <?php
        // Начало цикла.
        while ( have_posts() ) : the_post();

            // Подключение шаблона содержимого страницы.
            get_template_part( 'template-parts/content', 'page' );

            // Если комментарии открыты или есть хотя бы один комментарий, подгружаем шаблон комментариев.
            if ( comments_open() || get_comments_number() ) {
                comments_template();
            }

            // Конец цикла.
        endwhile;
        ?>

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

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

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

<?php get_sidebar(); ?>
<?php get_footer(); ?>
27 февр. 2017 г. 21:36:37
0

Найдите файл в папке вашей темы.

Если кто-то захочет запустить php-скрипт с доступом к функциям WordPress, необходимо подключить wp-load.php, как описано здесь. Вот пример кода для начала:

<?php
// получаем путь к wp-load.php из текущего скрипта
$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 "Привет, неавторизованный пользователь";
    elseif (!in_array('administrator', $current_user->roles)) 
        echo "Привет, пользователь";
    else
        echo "Привет, администратор";

?>
22 мар. 2021 г. 12:59:28
0

Полученные вами ответы верны, но если вам действительно нужно использовать пользовательский PHP-файл в корне установки WordPress (для специальной страницы, API или чего-то еще) без использования стандартного шаблона или AJAX-файла, тогда вам понадобится это:

<?php
/*
 * Это ваш пользовательский PHP-файл, используйте его для любых целей.
 */
 
/* Отключить тему WordPress для этого файла (опционально) */
define('WP_USE_THEMES', false);

/** Загружает среду WordPress. */
require __DIR__ . '/wp-load.php';

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

РАЗМЕСТИТЕ ЛЮБОЙ PHP-КОД, КОТОРЫЙ ВАМ НУЖЕН 

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

По сути, вызывая wp-load.php, вы загружаете полное ядро WordPress в этот PHP-файл. Остается только управлять им — и всё готово.

22 мар. 2021 г. 13:09:23