Criação de plugins - Wordpress

Criação de Hooks personalizados



Hook de Ativação e Segurança

Criando Post Types Personalizados


Metaboxes e Metadata

Metaboxes, podemos criar nossas próprias também.


ACTIONS PADRÔES DO PLUGIN
do_action ('init')
Dispara depois que o WordPress termina de carregar, mas antes que qualquer cabeçalho seja enviado.

do_action ('admin_init')
Quando está no painel do administrador.
https://developer.wordpress.org/reference/functions/add_meta_box/

Criando tabelas no banco de dados WP



Fazendo requisições AJAX em plugin

Plugin interessante para Classificações rateit.

Carregar os arquivos, scripts

add_Action('wp_enqueue_scripts','br_enqueue_scripts',100);



Alterando colunas do admin

Como alterar o painel de administração aonde lista os dados.

add_filter('manage_receita_posts_columns','br_receita_columns');




Criando um Widget

Mostrar 1 receita por dia.

Usando CronJobs e Transient API

Criando Shortcodes



Comando Ob_start() do php, armazena na memória e não mostra até que seja especificado.



Filtrando HTML e Inserindo post





Hooks Próprios, Plugin Externo e Envio de Emails



Criando Usuários (1/2)


Criado um arquivo para cadastro submit.
Utilizar as funções para criar usuário do próprio WP

Após fazer o login.


Após  realizar o Login, podemos redirecionar o usuário para Home do site.

Para Passar parâmetros do PHP para JS, utilizamos a função wp_localize_script

Autenticação de Usuário






Filtro de Query de Banco de Dados


Evento de desinstalação do plugin

Criando um Widget no administrador


Usando o HTTP API para pegar conteúdo interno e externo



Atualizando as regras de Rewrite do WordPress

Regras de segurança.

flush_rewrite_rules();


WordPress API e descendentes

Criando configurações (Options API)

Como utilizar a tabela WP_Options

get_option('name')

Caso não exista então podemos criar.


Adicionando Menu ao Painel

Action - admin_menu - Carregado antes do admin_init.

add_menu_page()


Processando Formulários no Painel



como buscar os dados.



Usando o Settings API

Utilizado para o próprio wordpress gerenciar as options settings.

Usando o Media Uploader


wp_media_uploader();

Precisa instanciar no Jquery o mediauploader.


Adicione um bind em algum botão ou componente. 

Criando Roles Próprios


Criando Taxonomias

Agrupamentos de conteúdos Exemplos: Categorias , TAGS
register_taxonomy(
);

function register_custom_taxonomy() {
 
    $labels = array(
        'name'              => _x( 'Genres', 'taxonomy general name', 'textdomain' ),
        'singular_name'     => _x( 'Genre', 'taxonomy singular name', 'textdomain' ),
        'search_items'      => __( 'Search Genres', 'textdomain' ),
        'all_items'         => __( 'All Genres', 'textdomain' ),
        'view_item'         => __( 'View Genre', 'textdomain' ),
        'parent_item'       => __( 'Parent Genre', 'textdomain' ),
        'parent_item_colon' => __( 'Parent Genre:', 'textdomain' ),
        'edit_item'         => __( 'Edit Genre', 'textdomain' ),
        'update_item'       => __( 'Update Genre', 'textdomain' ),
        'add_new_item'      => __( 'Add New Genre', 'textdomain' ),
        'new_item_name'     => __( 'New Genre Name', 'textdomain' ),
        'not_found'         => __( 'No Genres Found', 'textdomain' ),
        'back_to_items'     => __( 'Back to Genres', 'textdomain' ),
        'menu_name'         => __( 'Genre', 'textdomain' ),
    );
 
    $args = array(
        'labels'            => $labels,
        'hierarchical'      => true,
        'public'            => true,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'genre' ),
        'show_in_rest'      => true,
    );
 
 
    register_taxonomy( 'genre', 'book', $args );
 
}

Taxonomias Personalizadas

função: wp_get_post_terms 
Recupera os termos de uma postagem. Taxonomia.
função: get_term_meta(id do termpo, 'campo',isarray);

Actions: Adicionar campos ao formulário de Taxonomia criada por nós.
add_action('origem_add_form_fields','br_origem_add_form_fields');
add_action('origem_edit_form_fields','br_origem_edit_form_fields'); Param $term
add_action('created_origem'.'br_save_origem');
add_action('edited_origem'.'br_save_origem');


Recuperar os dados da taxonomia: 
$origem = wp_get_post_terms($post->ID,'origem');

GenerateWP

https://generatewp.com/
Gera o código para plugins por exemplo. Otimiza muito para criação de plugins.

Como funciona um sistema de licenças?

Licença GLP - Deve ser enviado o código fonte. 

funções add_menu_page();


Você achou esse artigo útil?