Download the PHP package potterywp/potter without Composer
On this page you can find all versions of the php package potterywp/potter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download potterywp/potter
More information about potterywp/potter
Files in potterywp/potter
Package potter
Short Description Set of tools that help you make WordPress sites more easily.
License MIT
Informations about the package potter
Potter
Conjunto de ferramentas que ajudam a criar sites WordPress mais facilmente.
Potter ainda esta em fase beta
Instalação
No seu composer.json
No seu functions.php
Características
- Post/Type - Crie custom posts types com facilidade e flexibilidade
- ThemeOptions - Opções de tema ficam faceis de serem criados. Potter usa um wrapper para option-tree, melhorando ainda mais o fluxo de desenvolvimento.
- Features - Potter possui uma série de helpers que facilitão a inclusisão de recursos nos seus projetos com Wordpress, como a inclusão de css e javascript com facilidade em suas páginas.
Features
Para usar o Features insira o seguinte código em seu functions.php
logo após require_once "vendor/autoload.php";
A vantagem de usar as funções do Features é o ganho em organização e otimização, já que em poucas linhas você tem vários recursos do WP que você teria que separar em vários arquivos para manter organizado. Potter se encarrega de carregar os comandos apenás quando eles são nescessários.
Menu
Adcione menus ao seu tema
Theme Support
Post Type Support
Image Size
Assets
Adcione e organize arquivos css e js com facilidade.
CSS
JS
jQuery CDN
Defina qual a versão de jQuery você esta usando. Potter vai ajustar todas as configurações nescessárias automaticamente.
Alem de definir a versão do jQuery que você quer, você pode definir o seu fallback (caso o cdn não carregue) e ainda definir o jQuery migrate.
Google Analytcs
Adcione o código de rastreamento do Google Analytcs no tema com apenas uma linha de código.
Login Logo
Mude a imagem de login do Wordpress (d+ não?)
Opções do tema
Trabalhar com sites feitos em WP é muito bom, porém há momentos que precisamos deixar determinados recursos mais flexiveis pelo ambiente do usuário final (o cliente), para isso usamos recursos como o Theme Options.
Há varias formas de se implementar Theme Options, umas mais faceis e/ou robustas que outras. O plugin option-tree é uma exelente opção para se usar, é facil e flexivel, porém não possui uma interface de desenvolvimento que agrade a todos.
Por isso o Potter possui um wrapper API que facilita muito o trabalho de desenvolvimento de Theme Options com o option-tree.
Criando seu ThemeOptions
- Crie uma pasta chamada
/app
dentro da raiz do seu tema/wp-content/themes/meutema/
- Dentro da pasta
app
crie um arquivo chamadoThemeOptions.php
- Dentro de
ThemeOptions.php
coloque o seguinte código:
No momento que o Potter inicializar suas configurações ele automaticamente cria uma instancia de
ThemeOptions
então você não precisa fazer mais nada alem de criar o arquivo e colocar suas configurações lá.
Configurações adcionais
Você ainda tem mais opções disponiveis, que te permitiram custumizar melhor seu ThemeOptions
Adcionando opções
Todas os campos/opções são executados dentro de doRegister()
Opções disponíveis
- addText
$this->addText($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
text - addTextarea
addTextarea($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
textarea - addSelect
$this->addSelect($id, $label, array $choices, $desc = null, $std = null, $section = null, array $extra = array())
field of type select. - addCheckbox
$this->addCheckbox($id, $label, array $choices, $desc = null, $std = null, $section = null, array $extra = array())
field of type checkbox. - addRadio
$this->addRadio($id, $label, array $choices, $desc = null, $std = null, $section = null, array $extra = array())
field of type radio. - addWYSIWYG
$this->addWYSIWYG($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
WYSIWYG - addUpload
$this->addUpload($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
upload (image) - addCustomPostTypeSelect
$this->addCustomPostTypeSelect($id, $label, $desc = null, $postType = 'post', $std = null, $section = null, array $extra = array())
select type field with custom post type - addCustomPostTypeCheckbox
$this->addCustomPostTypeCheckbox($id, $label, $desc = null, $postType = 'post', $std = null, $section = null, array $extra = array())
checkbox type field with custom post type - addPageSelect
$this->addPageSelect($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
select type field with post type page - addPageCheckbox
$this->addPageCheckbox($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
checkbox type field with post type page - addPostCheckbox
$this->addPageCheckbox($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
checkbox type field with post type post - addPostSelect
$this->addPostSelect($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
select type field with post type post - addTaxonomySelect
$this->addTaxonomySelect($id, $label, $desc = null, $taxonomy = 'category', $std = null, $section = null, array $extra = array())
select type field with taxonomy - addTaxonomyCheckbox
$this->addTaxonomyCheckbox($id, $label, $desc = null, $taxonomy = 'category', $std = null, $section = null, array $extra = array())
checkbox type field with taxonomy - addCategorySelect
$this->addCategorySelect($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
select type field with categories - addCategoryCheckbox
$this->addCategoryCheckbox($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
checkbox type field with categories - addTagSelect
$this->addTagSelect($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
select type field with tags - addTagCheckbox
$this->addTagCheckbox($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
checkbox type field with tags - addTypography
$this->addTypography($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
- addOnOff
$this->addOnOff($id, $label, $desc = null, $std = null, $section = null, array $extra = array())
- addOption
$this->addOption(array $args)
Raw data for option.
Recuperando opções
Recuperar os dados salvos no ThemeOptions é muito fácil.
Post Types / Models
Não são raros os momentos onde precisamos criar custom post para atender as exigencias dos projetos.
Potter possui uma API que tem como objetivo facilitar esse trabalho, que as vezes tende a ser chato e complicado.
A API do Potter foi feita sobre o Super-CTP
Criando um PostType
Crie uma pasta chamada /app/models
dentro da raiz do seu tema /wp-content/themes/meutema/
Dentro da pasta /app/models
você vai criar um arquivo/classe para cada post type que deseja criar, a classe deve possuir o mesmo nome que o arquivo.
Por conversão use CamelCase para criar as classes, e para melhor identifica-lás acressente Type ou Model ao final do nome.
Ex:SliderModel.php
ouSliderType.php
O Potter automaticamente criará o post type 'slider'
SliderType.php
O conteúdo do arquivo deve ficar assim:
Configurações disponiveis
Há ainda várias configurações disponiveis.
Você pode extender qualquer atributo ou método da classe Super_Custom_Post_Type.php
Meta-Boxes
O próprio Super-CTP possui um sistema de meta-boxes, porem ele é um pouco limitado. Potter usa o plugin meta-box que proporciona muito mais flixebilidade e opções.
Para cadastrar uma meta-box a um post-type acressente as opções desejadas ao atributo $meta_boxex
Todas as configurações do meta-box estão disponiveis
Post Type Query
O uso do WP_Query por muitas vezes é complicado, e não fornece uma API muito bonita de de trabalhar. Com o Potter fica muito fácil executar consultas.
Instanciando a Query
No local onde deseja executar a sua consulta, você pode usar o seguinte comando.
Há varios métodos disponíveis.
All versions of potter with dependencies
rilwis/meta-box Version ~4.4
illuminate/support Version ~5
valendesigns/option-tree Version ~2.4
anahkiasen/html-object Version ~1.4