it-swarm-pt.tech

Script de inicialização para aspectos "padrão" de um site WordPress?

Estou prestes a ter que escrever um script para ter uma nova instalação do WordPress 3.0.1 e add-in todos os recursos iniciais para um site. Isto é para uma empresa que instala muitos sites semelhantes e eles precisam de um ponto de partida padrão na configuração e nos dados.

  • Eu estou querendo saber se alguém já fez isso e em caso afirmativo, se eles podem compartilhar seu código?

Eu imagino que vamos Tweak este script cada vezeles criam um novo site assim hard-coding é bom embora eventualmente (depois de bastante experiência) eu gostaria de converter em um plugin.

Aqui está a lista básica de tarefaseu acho que precisaremos (estes assumem que eu comecei com o WordPress 3.0.1 já instalado e meus plugins personalizados e tema personalizado copiados nos diretórios apropriados):

// Create users for the current site
// Delete Hello Dolly Plugin
// Download, Install and Activate repository plugins
// Activate Custom Plugins (assume the plugins are already there)
// Activate Custom Theme
// Delete Hello Post
// Delete Comment on Hello Post
// Create Pages with Starter Content
// Create Initial Custom Post Types with Starter Content
// Create Multiple Menus 
// Create Menu Items for those Menus linking to Pages and wp-login.php
// Create Initial Taxonomy Terms
// Set Desired Permalinks Setting
// Set Static Front Page Setting

É sobre isso (embora eu possa identificar mais quando entro nisso).

Novamente, eu estou procurando código que eu possa copiar e modificarentão eu não tenho que descobrir todos esses detalhes eu mesmo (o que não é difícil, apenas tedioso e demorado).

Ah mais uma coisa, eu tenho que começar isso agoraentão quanto mais cedo melhor! :-)

23
MikeSchinkel

Definir permalinks desejados

Um novo (incrível) projeto temático que me deparei esta semana e que está fortemente focado na funcionalidade HTML5/CSS3 tem seu próprio script de 'bootstrap' para criar conteúdo clichê, incorporar configurações permalink, definir uma raiz relativa para a instalação do site, etc. os recursos são chamados na ativação do tema. O projeto é chamado Roots e o código pode ser baixado aqui ; Eu não tenho nenhum crédito por esse código. Dito isto, aqui está o código para auto-set/year/postname como a estrutura de permalink (e os ganchos de ativação abaixo para global $ pagenow são explicados aqui: http://foolswisdom.com/wp-activate-theme-actio/ .

<?php

    global $pagenow;
    if (is_admin() && 'themes.php' === $pagenow && isset( $_GET['activated'])) {


        // set the permalink structure
        if (get_option('permalink_structure') != '/%year%/%postname%/') { 
            update_option('permalink_structure', '/%year%/%postname%/');
      }

        $wp_rewrite->init();
        $wp_rewrite->flush_rules(); 


    }

?>

4
user4443

Excluir Hello Post (com comentário)

wp_delete_post( 1, true );

Direto de wp_delete_post() docs. O segundo parâmetro atua completamente, em vez de passar para o lixo.

Criar menus

Isso cria um novo menu e adiciona todas as páginas existentes como itens a ele. Não tenho certeza se está totalmente correto. Não consegui obter itens de menu para mostrar o rótulo Page entre outras coisas. De qualquer forma meu cérebro está derretendo, então estou dando um tempo. Talvez alguém possa atualizar isso para algo mais confiável.

$menu = wp_create_nav_menu( 'Pages' );
$menu = wp_get_nav_menu_object( 'Pages' );
$pages = get_pages();

foreach( $pages as $page ) {

$item = array(
'menu-item-db-id' => 0,
'menu-item-object-id' => $page->ID,
'menu-item-type' => 'post_type',
'menu-item-status' => 'publish'
);

wp_update_nav_menu_item( $menu->term_id, 0, $item );
}
3
Rarst

Dê uma olhada neste script de instalação. https://github.com/Pravdomil/WP-Quick-Install

Eu pego suas idéias e alguns códigos e crio algo que você provavelmente está procurando.

Os recursos são banco de dados de configuração, idiomas diferentes, criar usuários, definir configurações básicas do site, excluir plug-ins e modelos padrão, baixar instalar e ativar plug-ins e temas, avatar padrão, permalinks, página inicial estática.

Sinta-se livre para contribuir.

0
pravdomil

Se eu entendi bem, você quer para instalação inicial - então eu tenho medo que sua abordagem esteja totalmente errada.

Muito melhor, mais fácil e padronizado é criar install.php e colocá-lo na pasta wp-content - ele é automaticamente carregado durante a instalação.

Lá você pode colocar sua própria função wp_install (como a própria função wordpress usa if (! Function_exist)) então você pode facilmente configurar suas opções, ativar plugins, preencher postagens iniciais, categorias, tags, usuários ...

A segunda opção pode ser para a situação, onde você deseja limpar o wp já existente (por exemplo, para configurar a versão demo a cada 30 minutos, por exemplo, cron) - você pode a) truncar o banco de dados e usar o procedimento acima ou criar o plug-in que mesmo.

0
user3261