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);



Mostrar 1 receita por dia.

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




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





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');

add_filter('manage_receita_posts_columns','br_receita_columns');


Criando um Widget
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();
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.

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()


como buscar os dados.


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.
wp_media_uploader();
Precisa instanciar no Jquery o mediauploader.
Adicione um bind em algum botão ou componente.
Agrupamentos de conteúdos Exemplos: Categorias , TAGS
register_taxonomy(
);
$origem = wp_get_post_terms($post->ID,'origem');
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
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:
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:

GenerateWP
https://generatewp.com/
Gera o código para plugins por exemplo. Otimiza muito para criação de plugins.
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();
funções add_menu_page();