GoConqr has a new look! Let us know what you think.

Flashcards

OS Training - Plugin Development + Udemy PLugin

Victor Bini Technical Skills asa English 20 cards

Cards in this deck (20)

  1. 1Quais são os post-types padrões do wordpress?Posts, Media, Pages, Comments...
    Também podemos citar Drafts Posts(rascunhos de posts)
  2. 2Onde são armazenados os dados dos post-types do wordpress?Todos os post-types são armazenados em uma única table 'wp_posts' - podemos ver a qual post-type uma row pertence em 'wp_posts' pelo 'post_type'
    colunm
    Tudos são salvos na mesma database table, então eles são fundamentalmente iguais a unica diferença real é a label
  3. 3Onde são armazenados os meta-dados dos post-types do wordpress?Todos os meta dados dos posts são armazenados em 'wp_post_meta'
  4. 4O que post-types nos permitem fazer?Post types nos permitem separar conteúdo e fazer dele muito bem estruturado.
    Por exemplo se gostarimos de fazer uma site de venda de carros, nos podemos organizar tudo com pages ou posts, OU nos podemos criar um post-type 'cars' onde cada entrada será um carro, então ele poderá ter seu proprio metadata, como ano, fabricante, modelo...
  5. 5Como devemos organizar nosso plugin?1º Devemos ter um arquivo com o mesmo nome da pasta do plugin. (não obrigatorio, mas recomendado)
    2ºNossos arquivos parte do projeto vão em uma pasta includes
    3º nossos arquivos parte do projeto de javascript vão em uma pasta js e css vai em css
    4º O plugin header já possui um pré estabelecido conjunto de dados que é IMPORTANTE
    ver codex File_Header
  6. 6porque usar classes de php ?1º PHP Classes mantém as coisas organizadas.
    2º mantém as coisas separadas.
  7. 7Como linkamos uma classe em um plugin?Adicionamos em nosso arquivo principal:
    if ( file_exists( __DIR__ . '/includes/test-class.php') ) {
    include_once __DIR__ . 'include/test-class.php';
    add__action('pluings_loaded', array('Test_Class', 'get_instance'), 10);
    }
  8. 8Porque utilizar classes staticas?- Cria somente uma instancia
    -Mantém as ações simples
  9. 9Como fazemos para crair nosso Custom Post Type com uma Classe?O que vamos fazer é gerar o codigo do Post Type passando os parametros em GenerateWP.com e adicionar isso a um método de nossa classe.
    - Criamos primeiramente o custom post type com nenhum taxonomia -
    NEXT CARD ESTRUTURA NA CLASSE
  10. 10Como adicionamos esse Custom Post Type com PHP Classes?class MyClassName() {
    function custom_post_type {
    //Here goes the code genarate by 'generatewp.com' except for the add_action
    }
    Quando estamos em uma classe nossas ações devem ir dentro de seus proprios métodos:
    public function hooks() {
    add_action('init', array( $this, 'custom_post_type'), 0)
    }
    //o array nesse hook é ocmo nos chamamos uma função que estão dentro de uma instancia na classe.
    }
    *** Para que isso funcione nos precisamos chamar essa classe em nosso arquivo principal do plugin:
    if ( file_exists ( __DIR__ . '/includes/class.php')) { include_once __DIR__ . '/include/class.php;
    add_action('plugins_loaded' , array( 'ClassName', 'get_instance' ), 10 )}
    ESSE PROCESSO NÃO INCLUI TAXONOMIA
  11. 11Como fazemos para adicionar taxonomia em nosso Custom Post Type com PHP Classes?Mesmo processo que utilizamos para fazer o Custom Post Type, podemos ir em GenerateWP e gerar o conteúdo e utilizar da mesma forma em uma NOVA CLASSE, então só chamamos essa nova classe em nosso arquivo principal do plugin.
  12. 12Como fazemos para requerir um plugin como o CMB2 em nosso plugin? Custom Metabox 2Baixamos os arquivos e descompactamos ele em nossa pagina /include/plugin-name
    então em nosso arquivo principal do nosso plugin ativamos o plugin chamando o arquivo init.php
  13. 13Como criamos metabox com CMB2?Vamos na documentação / Basic Usage , então vamos copiar a função e hook para criação de uma nova meta box.
    Em nosso codigo vamos criar uma classe pra adicionar essa metabox em nosso CUSTOM POST TYPE.
    Então novamente, vamos criar a função criando a METABOX e depois CRIANDO OS FIELDS dessa metabox, tudo no codigo da função, depois vamos adicionar o hook a função apropriada e linkar essa classe ao arquivo principal do nosso projeto.
    Lembrar que para rodar uma função de uma classe no arquivo principal fazemos:
    add_action('hook_name', array('className', functionName));
  14. 14Como fazemos uma pagina em Settings para adicionar alguns configuradores em nosso Custom Post Type?1º Criamos uma propriedade privada chamada $option, essa propriedade vai guardar as opções:
    $options = null;
    2º Criamos uma propriedade privada chamada $plugin_admin_page,
    essa propriedade vai guardar a page enquanto ela estiver sendo construida
    private $big_to_do_admin_page = null;
    3º vamos utilizar a função add_options_page() - essa função é a que realmente cria a pagina, então vamos criar um novo método para a classe:
    public function add_plugin_page() {
    $this->plugin_name_admin_page = add_options_page(
    //all params
    array( $this, 'create_admin_page' )
    //Essa função criamos na propria classe, essa função é responsavel por renderizar o output
    )
    }
    *Note que aqui definimos a propriedade plugin_name_admin_page como add_options_page
  15. 15Como fazemos uma pagina em Settings para adicionar alguns configuradores em nosso Custom Post Type? -Adicionando ao admin-pageEntão criamos um novo método na classe para settings, essa é a função que chamamos para renderizar a pagina ao chamar o método 'add_options_page'.
    dentro da função definimos nossa propriedade options para get_option( 'plugin_name_options' )
    public function create_admin_page(){
    $this->options = get_option( 'plugin_name_options' );
    Então criamos a , para o title e nossa tag vamos adicionar :
    settings_field( 'big_todo_options_group' );
    do_settings_sections( 'big-todo-setting-admin' );
    submit_button();
    }
  16. 16Como fazemos a page settings on Admin-Page?então em nosso método hooks() da nossa classe(onde adicionamos todos os hooks ) - vamos adicionar
    public function hooks() {
    add_action( 'admin_menu', array( $this, 'add_plugin_page' )
    )}
    Para rodar o codigo.
    Também adicionamos o codigo em nosso arquivo principal do nosso plugin.
  17. 17Como colocamos algumas settings na page que criamos?vamos utilizar a função register_setting();
    então vamos adicionar uma função em nossa classe:
    public function page_init(){
    register_setting(
    'prefix_option_group',
    'prefix_option_name',
    array( $this, 'sanatize')
    );
    depois no mesmo metodo adicionamos a função add_setting_section, que cria o visual do conteinar para a setting
    add_settings_section('settings_section_id', title, array( $this, 'print_section_info'), 'big-todo-setting-admin')
    }
    então criamos a função para mostrar essas settings
    public function print_section_info(){
    }
  18. 18Como fazemos para criar nossas settings fields?em nossa função page_init() {
    add_settings_field('id_setting_field', 'title', array( $this, 'functiontoshow'), 'page', 'section')
    Aqui podemos adicionar varios fields, o quanto nos queremos que tenham... O que temos que fazer então é ADICIONAR OS CALLBACKS das SETTINGS FIELDS.
  19. 19Como podemos fazer as callbacks das field_settings?public function big_todo_logged_callback() {
    checked = '' ;
    if( !empty( $this->options['logged_in_required']))}
    input goes here
    }
  20. 20Como funciona e onde são armazenados a API do WORDPRESS para o método CRUD?O Wordpress fornece uma api para armazenarmos os dados dos nossos plugins, os dados do nosso plugin são armazenados na table wp_option, nessa table é possível fazermos as operações CRUD com as função:
    get_option('name'); //returna o valor da option.
    update_option('name', 'newvalue'); // Atualiza essa option para o novo valor.
    remove_option('name'); // exclui a option do wordpress .
    add_option('newname', 'Value'); // Cria uma nova option no banco de dados

Information

Description
asa Technical Skills (OSTraining - Wordpress) Flashcards on OS Training - Plugin Development + Udemy PLugin , created by Victor Bini on 30/05/2017.
Created by
Victor Bini
Views
2
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?