Intereting Posts
Pagination добавляет точки с номерами страниц при использовании 'mid_size' => 0 Меню Nav и счетчик сообщений wordpress – регистрация пользователя (регистрация регистрации) Добавление миниатюр в результаты поиска и изменение содержимого. Как сделать поиск только для поиска в сообщении? Как запросить Top 5 сообщений определенной категории? Как скрыть все дочерние страницы с помощью post_query? Несколько таксономических запросов (например, фильтр) Shortcode для последних – не истекших сообщений Live-сайт не обновляется после импорта базы данных sql Использование wp_tag_cloud ('format = array') для печати имен тегов без ссылок? Как добавить классы css в виджеты? Как обрезать высоту эскиза для авто с заданной шириной Как я могу получить идентификатор виджета после перетаскивания для wordpress с помощью jquery? $ wpdb-> get_var несколько запросов в одной проверке базы данных

Неустранимая ошибка: вызов неопределенной функции plugin_dir_path ()

Я пытаюсь создать пользовательский плагин WordPress, и я создал новую папку внутри папки «plugins». Он называется «wp-services-table». Внутри этой папки я создал два файла: wp-services-table.php и wp-services-table-shortcode.php

На данный момент файл wp-services-table-shortcode.php пуст. Я написал это только в файле wp-services-table.php:

<?php /** * Plugin Name: Table and Modal Window for Displaying Services * Description: Displays Services in a table, by Categories and opens a Modal Window when the user clicks for more information. * Version: 0.1.0 * Author: Ami */ //Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } require_once ( plugin_dir_path(__FILE__) . 'wp-services-table-shortcode.php' ); 

Но я получаю эту ошибку:

Неустранимая ошибка: вызов неопределенной функции plugin_dir_path () в /home/mysitedomain/public_html/wpfoldername/contentfolder/plugins/wp-services-table/wp-services-table.php в строке 14

Может ли это быть потому, что у меня есть пользовательское имя вместо «wp-content»? Или потому, что я установил WordPress в подпапку («wpfoldername»), а не непосредственно в папку «public_html»?

Потому что, во-вторых, я думаю, что то, что я написал в файле плагина, правильно для создания нового плагина.

Я также попытался добавить это:

 $dir = plugin_dir_path(__FILE__); var_dump($dir); die(); 

Чтобы узнать, какой путь он будет показывать для плагина, но, конечно, я все равно получаю ту же ошибку в отношении неопределенной функции plugin_dir_path ()

Надеюсь, кто-то знает, почему это происходит, потому что я очень озадачен здесь. Спасибо!

Я редактировал вопрос, чтобы добавить содержимое wp-config: это может быть полезно, потому что я изменил имя папки wp-content, а WordPress установлен в подпапку. Я думаю, что это важная часть:

 /* That's all, stop editing! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** Renaming the wp-content folder. */ define ('WP_CONTENT_FOLDERNAME', 'contentfolder'); define ('WP_CONTENT_DIR', ABSPATH . WP_CONTENT_FOLDERNAME) ; define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/wpfoldername/'); define('WP_CONTENT_URL', WP_SITEURL . WP_CONTENT_FOLDERNAME); /** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php'); 

Также файл index.php находится в папке «wpfoldername» и содержит следующий код:

 <?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require( dirname( __FILE__ ) . '/wp-blog-header.php' ); 

Может быть, вы забыли прокомментировать Exit if accessed directly части?

 //Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } 

Как получить доступ к странице? Вы пытаетесь получить доступ к файлу плагина напрямую, не используя интерфейс сайта? Если это так, WordPress, вероятно, не был загружен.

Что произойдет, если вы добавите следующий код в верхней части страницы?

 if ( !defined('ABSPATH') ) { //If wordpress isn't loaded load it up. $path = $_SERVER['DOCUMENT_ROOT']; include_once $path . '/wp-load.php'; } 

Приведенный выше код гарантирует, что WordPress будет загружен до запуска вашего кода.