Запуск только ядра WordPress (минимальная загрузка)
Если от движка нужно только обращение к базе и несколько системных хуков, то перед загрузкой wp-load.php нужно определить константу SHORTINIT со значением true
Пример запуска в консоли, когда не определена $_SERVER[‘DOCUMENT_ROOT‘]:
<?php
$_SERVER['DOCUMENT_ROOT'] = __DIR__ . '/../../../..';
define('SHORTINIT', true);
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
global $wpdb;
$get_posts = $wpdb->get_results("SELECT `post_title` FROM `" . $wpdb->posts . "` WHERE post_type = 'post'");
if ($get_posts)
{
foreach ($get_posts as $post){
echo $post->post_title . "\n";
}
}
Что работает при SHORTINIT
apply_filters() и do_action() только из /wp-includes/default-filters.php
Скрипты которые подключаются по умолчанию:
- /wp-includes/load.php
- /wp-includes/default-constants.php
- /wp-includes/compat.php
- /wp-includes/functions.php
- /wp-includes/class-wp.php
- /wp-includes/class-wp-error.php
- /wp-includes/plugin.php
- /wp-includes/pomo/translations.php
- /wp-includes/pomo/entry.php
- /wp-includes/pomo/mo.php
- /wp-includes/pomo/streams.php
- /wp-includes/default-filters.php
Для поиска:
wordpress console, минимальная загрузка, wp