Мне бы хотелось, чтобы кто-нибудь дал мне несколько советов по созданию этого скрипта, который я добавлю в существующий скрипт плагина (см. Код ниже) ниже.
Итак, теперь у меня есть (со сценарием ниже) средство для вставки предопределенного набора значений по умолчанию в сайт WordPress. Я хочу добавить вспомогательную утилиту, активируемую кнопкой или ссылкой, которая просто читает «Копировать настройки», которая будет принимать существующие настройки сайта (sb2_options), записывать их в файл, затем упаковывать полученный файл. вместе с исходным файлом в новый zip-файл, который по сути становится пользовательской копией исходного плагина для использования на другом сайте.
Таким образом, код должен взять существующий файл .php, содержащий статический код, открыть его для записи, а затем вставить все пары имя / значение из таблицы параметров wordpress, соответствующие определенному префиксу (например, все мои пользовательские параметры имеют префикс "sb2_"). Как только это будет сделано, он сохранит полученный файл как, например, «plugin.zip» и передаст его пользователю для загрузки.
Вот код, который у меня сейчас есть, который устанавливает настройки по умолчанию для сайта ...
<?php
/**
* Plugin Name: my plugin
* Description: Sets up your sites defaults.
* Version: 1.0
*/
function sb2_plugin_init()
{
if ( get_option( 'sb2_plugin' ) == "")
{
//Begin Insert List here. Open the file and write out all the name value pairs, just like in the example.
//Option 1",
$sb2_option1 = "test";
//Option 2",
$sb2_option2 = "test";
//Option 1",
$sb2_option3 = "test";
//End insert list here
//update site defaults
update_option('sb2_option1', sb2_option1);
update_option('sb2_option2', sb2_option2);
update_option('sb2_option3', sb2_option3);
//etc
// Create post objects
$my_post = array();
$my_post['post_title'] = 'Main Blog Post Title';
$my_post['post_content'] = 'Main Blog Post Content';
$my_post['post_type'] = 'post';
//TODO >>> NEED TO MAKE THE POST STICKY
// Insert the post into the database
wp_insert_post($my_post);
wp_cache_flush();
update_option('sb2_plugin', "1");
}
}
add_action( 'init','sb2_plugin_init');