Я встановлюю дочірню тему для деяких моїх викладачів, і, як частина теми, я хотів би, щоб у той час, коли тема була активована, кілька плагінів активувалися. Отже, я, природно, використовував дію after_setup_theme і викликав свою функцію настройки. Він чудово працює, за винятком того, що він працює на кожному запиті (адміністратор та інше). Я довів це, додавши це до кінця функції настройки:
echo '<script type="text/javascript">alert("This action was run")</script>';
І в результаті отримуйте javascript-сповіщення про кожен запит адміністратора та кожен запит на передній панелі (у мене налаштування мережі, тому очевидно, на сайтах, де ця тема не активна, вона не працює)
Тож питання в тому, це помилка? Я якось роблю щось не так? Ось повний код, який я використовую:
add_action( 'after_setup_theme', 'fwp_setup' );
function fwp_setup(){
// -- Unrelated code remove for the sake of brevity
require_once($_SERVER['DOCUMENT_ROOT'].'/wp-admin/includes/plugin.php');
activate_plugin('enable-media-replace/enable-media-replace.php');
activate_plugin('seo-image/seo-friendly-images.php');
activate_plugin('w3-total-cache/w3-total-cache.php');
echo '<script type="text/javascript">alert("This action was run")</script>';
}
Будь-яке розуміння було б дуже вдячно!
after_switch_theme
робить саме те, що я тут задумав. Він запускається після переключення теми на вашу тему. Одне з наведених нижче рішень використовуєswitch_theme
. Це не має бажаних результатів, оскільки це відбувається лише після відключення від вашої теми. Посилайтеся на цей коментар Trac