Intereting Posts
Шаблон примера wp-signup.php Выполнялось ли обновление с 3.3 до 3.3.1 вносить изменения в навигацию по меню? Шаблон страницы без заголовка и нижнего колонтитула О безопасности сайта WordPress Редактировать страницы активности группы друзей Buddypress jetpack рекламирует настройку контента Слияние двух отдельных меню WP в один в режиме Mobile view Учитывая идентификатор продукта в woocommerce, как я могу получить его URL? WP_Query для получения сообщений в определенном теге или имеет post_format Существуют ли какие-либо действия или фильтры, которые я могу использовать для вызовов Ajax? Обновление до SSL-перерывов Панель управления администратора Разрешить пользователям изменять изменения и добавлять таксономии сообщений Помещение тега <a> вне тега <li> в сгенерированном меню Получить конкретный ключ ACF и значение из всех сообщений – нет доступа к БД Должен ли я использовать spl_autoload_register () в моем плагине?

включить wp-blog-заголовок, не работающий над MAMP

Чтобы уточнить мой вопрос … Мой плагин использовал / использовал AJAX для вызова файла pluginname/submit/pick.php Мой pluginname/pluginname.php содержит обычный заголовок плагина, и WordPress автоматически находит его.

Оригинальный вопрос … Я пытаюсь использовать глобальный $wpdb в плагине для вставки данных в одну из моих таблиц. Из документов это похоже на то, что мне просто нужно включить wp-blog-header.php Однако, когда я пытаюсь сделать это, я получаю сообщение об ошибке.

PHP Неустранимая ошибка: [ require() ] (function.require): Не удалось открыть окно «http: // localhost: 8888 / blog / wp-blog-header.php» (include_path = '.: / Applications / MAMP / bin / php / php5.3.6 / lib / php ') в /Applications/MAMP/htdocs/blog/wp-content/plugins/pluginname/submit/pick.php в строке 4

Мой pluginname/submit/pick.php (который вызывается AJAX) имеет следующий код

 <?php $p = 'http://localhost:8888/blog/wp-blog-header.php'; echo $p; require($p); echo 'hi'; ?> 

Если я pick.php , я вижу http://localhost:8888/blog/wp-blog-header.php и все. Таким образом, он должен быть неудачным по требованию, как подтверждает журнал ошибок.

Путь верен, когда я вставлял быстрое эхо в wp-blog-header.php и копировал pick.php вывод из pick.php в адресную строку, и он работал.

Любая помощь будет оценена по достоинству.

Solutions Collecting From Web of "включить wp-blog-заголовок, не работающий над MAMP"

Вы делаете что-то совершенно неправильное.

Комментарий к заголовку

В вашем основном файле вам нужен следующий комментарий сверху (например, из формы контакта 7):

 <?php /* Plugin Name: Contact Form 7 Plugin URI: http://contactform7.com/ Description: Just another contact form plugin. Simple but flexible. Author: Takayuki Miyoshi Author URI: http://ideasilo.wordpress.com/ Text Domain: wpcf7 Domain Path: /languages/ Version: 3.1.2 */ 

WP автоматически обнаружит плагин. Затем просто define/require/include что вам нужно. Затем плагин будет загружен непосредственно перед plugins_loaded , который является первым, доступным для вас. Затем вы можете использовать всю среду WP.

Короткий ответ

Ошибка связана с тем, что вместо URL-адреса файла я помещаю URL-адрес. и исправление одной строки – установить $p = '../../../../wp-blog-header.php';

Длительный ответ

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

в pluginname/plugin.php

 // load your javascript, and setup the ajaxurl variable // this is loading my js everywhere, we could load it only where needed // 0.01 is the version of your js, increment this each time you change your js // so that you don't keep using the same cached version wp_enqueue_script( 'pluginname', plugins_url( 'js/pluginname.js', __FILE__ ), array( 'jquery' ), 0.01 ); wp_localize_script( 'pluginname', 'pluginname', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); // wp_ajax_insert_pick is a combination of wp_ajax_ and the 'action' : 'insert_pick' you provide in your js // ajax_insert_pick is the function below that is called to handle your ajax request add_action( "wp_ajax_action_name", "ajax_insert_pick" ); // this basically replaces pluginname/submit/pick.php function ajax_insert_pick() { global $wpdb; $var = $_POST['var']; // handle the ajax request here echo $response; die(); // needed otherwise wordpress may append a zero to your response. } 

в pluginname/js/pluginname.js

 function submit_pick( var ) { jQuery.post( pluginname.ajaxurl, { 'action' : 'insert_pick', 'var' : var }, function(response) { alert(response); }, 'text' ); } 

Поскольку я только что узнал это прошлой ночью, и я всего лишь месяц на изучение php / mysql / wp / js / ajax, возможно, есть некоторые ошибки в приведенном выше. Но это сработало для меня прошлой ночью, так что я доволен этим на этом этапе.