Открыть файл, записать в файл, сохранить файл в виде zip-файла и отправить его пользователю для скачивания. - PullRequest
1 голос
/ 18 февраля 2010

Мне бы хотелось, чтобы кто-нибудь дал мне несколько советов по созданию этого скрипта, который я добавлю в существующий скрипт плагина (см. Код ниже) ниже.

Итак, теперь у меня есть (со сценарием ниже) средство для вставки предопределенного набора значений по умолчанию в сайт 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');

1 Ответ

0 голосов
/ 18 февраля 2010

Чтение и запись в файл не должны быть трудными для вас, но вот хороший способ создать zip-файлы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...