Como criar um pacote personalizado de instalação do WordPress?

4

Eu baixei a versão mais recente do WordPress (3.5) e criei um tema personalizado. Eu pretendo fazer o upload e instalá-lo para vários clientes. É possível personalizar as configurações padrão, como não ter a postagem de amostra, a página e o comentário adicionados quando ela é instalada? E definir o tema padrão que está ativado?

Eu olhei para upgrade.php e schema.php e parece que é onde o post de exemplo, a página e o comentário estão sendo adicionados, mas não consigo encontrar onde o tema padrão está sendo escolhido. Existe um artigo sobre como editar esses arquivos ou algumas dicas sobre o que fazer?

    
por user1822824 29.12.2012 / 09:44

4 respostas

3

Eu respondi uma pergunta similar . Basicamente:

  • crie um plug-in Dropin em a raiz de wp-content denominado install.php

  • dentro de install.php , crie uma nova versão da função pluggable wp_install_defaults()

  • remova todos os padrões indesejados e personalize à vontade, como:

      
    • update_option('template', 'your-theme');

    •   
    • update_option('stylesheet', 'your-theme');

    •   
    • update_option('current_theme', 'Your Theme');

    •   
    • update_option('my_theme_options', $theme_options_array );

    •   
    • ativar automaticamente alguns plug-ins integrados

    •   
  • agrupe tudo em um único pacote (arquivos do WordPress e de conteúdo: Tema, Plugins, install.php )

  • agora, sempre que você executar uma instalação, o Dropin será processado e o novo site será iniciado com suas pré-configurações

Fiz mais alguns testes no meu ambiente de desenvolvimento e atualizei a Gist da outra resposta com um trabalho install.php .
Agora ele contém a função wpse_4041_run_activate_plugin($plugin) (para ativar plugins integrados) e um vazio wp_new_blog_notification() (que é outro pluggable e impede que o WP envie um email de notificação sobre o site instalação).

Eu usei o tema F8 Lite para teste. A maior parte do código é uma adaptação do script original (Página padrão, Post, Comment, Category, Blogroll). E no final, meus comandos personalizados (mudar tema, definir opções de tema, ativar plugins, definir opções de plugin).

Verifique os comentários no arquivo.

Não tenho certeza se é o melhor método, mas dentro do tema functions.php file eu coloquei este script que irá deletar o arquivo wp-content/install.php . Ele será executado apenas uma vez (com base em esta resposta por @bainternet) e após o WP ter sido instalado.

// If the option doesn't exist and the install script is there, delete it
if ( wpse_25643_run_once( 'my_custom_install_2013' ) )
{
    if( file_exists( WP_CONTENT_DIR.'/install.php' ) ) 
    {
        unlink( WP_CONTENT_DIR.'/install.php' );
    }
}

/**
 * Check if option exist
 *
 * @param string $key
 * @return boolean
 **/
function wpse_25643_run_once( $key )
{
    $test_case = get_option( 'run_once' );

    if ( isset( $test_case[$key] ) && $test_case[$key] )
    {
        return false;
    }
    else
    {
        $test_case[$key] = true;
        update_option( 'run_once', $test_case );
        return true;
    }
}

Perguntas e respostas relacionadas com outro método que não usa install.php :
Script de inicialização para "Padrão" Aspectos de um site WordPress?

    
por brasofilo 29.12.2012 / 19:26
1

Estou trabalhando em um script de compilação do PHP usando o Phing que instala o WP juntamente com alguns padrões (temas / plugins e código personalizado), ainda é um trabalho em andamento.

enlace

Dentro de build.xml você verá algumas opções do php como as seguintes, que são executadas durante a instalação:

     //remove Hello Dolly 
      delete_plugins(array('hello.php'));

    //remove default hello world post
      wp_delete_post(1,true);

    //remove default sample page
      wp_delete_post(2,true);

    //remove default Mr.Wordpress comment
      wp_delete_comment( 1, true ) ;

ps. Eu não testei isso na última versão ou no linux.

    
por Wyck 29.12.2012 / 21:37
0

Configure sua instalação como quiser e, em seguida, use algo como enlace para duplicar a instalação em seus outros locais para os outros sites. Isso é o que fazemos para uma instalação básica em todos os nossos projetos.

Como alternativa, em vez de fazer um novo WordPress para cada site, faça um backup da sua instalação existente do WP e importe-a na nova conta de hospedagem. Em seguida, copie todos os arquivos usando o FTP, atualize as configurações do banco de dados em wp-config.php para o novo banco de dados e estará tudo pronto. Pouco mais envolvido do que o InfiniteWP, mas isso significa que você não precisa pagar pelo plugin.

    
por cehwitham 29.12.2012 / 20:17
-1

O que você precisa fazer é abrir o wp-includes / default-constants.php e alterar a seguinte linha (você irá encontrá-la no final do documento) para o nome da pasta do seu tema:

if ( !defined('WP_DEFAULT_THEME') )
        define( 'WP_DEFAULT_THEME', 'twentytwelve' );

Por outro lado, você sempre pode tentar Duplicator . Um plugin muito bom que lhe dá muitos extras.

    
por marikamitsos 29.12.2012 / 13:31