SlideShare una empresa de Scribd logo
1 de 9
Carlos J. Costa (2016)
Plugins
Carlos J. Costa (2016)
Plugin Simples
<?
/**
* @package batatinhas
* @version 1.0
*/
/*
Plugin Name: batatinhas
Plugin URI: http://sitedaminhaempresa.pt/produto
Description:Este plugin serve para fazer quase tudo.
Version: 1.0
Author URI:http://sitedaminhaempresa.pt
*/
class minhaClass {
public static function init() {
$class = __CLASS__;
new $class;
}
function install() {
}
function uninstall() {
}
public function __construct() {
echo "<p>batatinhas</p>";
}
}
register_activation_hook( __FILE__, array( 'minhaClass', 'install' ) );
register_uninstall_hook ( __FILE__, array( 'minhaClass', 'uninstall' ) );
add_shortcode( 'bat', array( 'minhaClass', 'init' ));
?>
https://codex.wordpress.org/Plugin_API/Action_Reference
Carlos J. Costa (2016)
Instalação de Plugin
● Fazer upload ou colocar na pasta de plugins
● Activar
● Colocar shorcode, neste caso [bat] na página
Carlos J. Costa (2016)
Como melhorar
● Criar tabela na altura da instalação
● O seguinte código pode ser colocado no
método install, que até aqui era chamado mas
não fazia nada
Carlos J. Costa (2016)
Como melhorar
global $wpdb;
global $db_version;
$db_version = '1.0';
$table_name = $wpdb->prefix . 'tableXYZ';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id int NOT NULL AUTO_INCREMENT,
tempo datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
nome tinytext NOT NULL,
texto text NOT NULL,
url varchar(55) DEFAULT '' NOT NULL,
PRIMARY KEY id (id)
) $charset_collate;";
Carlos J. Costa (2016)
Desafio
● No processo de instalação pode-se colocar
dados nas tabelas.
● E na desinstalação também se pode apagar a
tabela e eliminar os respectivos dados.
Carlos J. Costa (2016)
Alterando agora
Carlos J. Costa (2016)
Desafio
● Como alterar o método mostrar form para ter
todos os campos relevantes?
● Como alterar o método receber de forma que
em vez de mostrar os dados os armazene na
tebela?
Carlos J. Costa (2016)

Más contenido relacionado

Destacado

Asme viii upv 1943
Asme viii upv 1943Asme viii upv 1943
Asme viii upv 1943alanxene
 
Presentación youtube
Presentación youtubePresentación youtube
Presentación youtubejose almeida
 
Proposing a System to Support Crowdsourcing
Proposing a System to Support CrowdsourcingProposing a System to Support Crowdsourcing
Proposing a System to Support CrowdsourcingCarlos J. Costa
 
Різновиди професійної музики
Різновиди професійної музикиРізновиди професійної музики
Різновиди професійної музикиКовпитська ЗОШ
 
Information Systems - Overview
Information Systems - OverviewInformation Systems - Overview
Information Systems - OverviewCarlos J. Costa
 
Trends on Information Technology
Trends on Information TechnologyTrends on Information Technology
Trends on Information TechnologyCarlos J. Costa
 
Robótica: Arduino (Introdução)
Robótica: Arduino (Introdução)Robótica: Arduino (Introdução)
Robótica: Arduino (Introdução)Carlos J. Costa
 
Negotiating in south korea
Negotiating in south koreaNegotiating in south korea
Negotiating in south koreaIvanka Shutiak
 
Tranformaciones lineales
Tranformaciones linealesTranformaciones lineales
Tranformaciones linealesRicardo Pardo
 
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...Sprawny Marketing by MaxROY.com
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código AbertoCarlos J. Costa
 

Destacado (15)

Click
ClickClick
Click
 
Asme viii upv 1943
Asme viii upv 1943Asme viii upv 1943
Asme viii upv 1943
 
Vida d'aula març 3r A
Vida d'aula març 3r AVida d'aula març 3r A
Vida d'aula març 3r A
 
Скарбничка професіонала
Скарбничка професіоналаСкарбничка професіонала
Скарбничка професіонала
 
Informe Final de Auditoria San José del Fragua
Informe Final de Auditoria San José del FraguaInforme Final de Auditoria San José del Fragua
Informe Final de Auditoria San José del Fragua
 
Presentación youtube
Presentación youtubePresentación youtube
Presentación youtube
 
Proposing a System to Support Crowdsourcing
Proposing a System to Support CrowdsourcingProposing a System to Support Crowdsourcing
Proposing a System to Support Crowdsourcing
 
Різновиди професійної музики
Різновиди професійної музикиРізновиди професійної музики
Різновиди професійної музики
 
Information Systems - Overview
Information Systems - OverviewInformation Systems - Overview
Information Systems - Overview
 
Trends on Information Technology
Trends on Information TechnologyTrends on Information Technology
Trends on Information Technology
 
Robótica: Arduino (Introdução)
Robótica: Arduino (Introdução)Robótica: Arduino (Introdução)
Robótica: Arduino (Introdução)
 
Negotiating in south korea
Negotiating in south koreaNegotiating in south korea
Negotiating in south korea
 
Tranformaciones lineales
Tranformaciones linealesTranformaciones lineales
Tranformaciones lineales
 
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...
Rahim Blak, SOCIAL NETWORKING - twórz sieć kontaktów bezpośrednich w mediach ...
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
 

Similar a Simple WordPress plugin development guide

Advanced live testing em tempo real
Advanced live testing em tempo realAdvanced live testing em tempo real
Advanced live testing em tempo realiMasters
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Fernanda Prezotto
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa FlexEduardo Kraus
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dadosHenrique Fernandes
 
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e ações
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e açõesIntrodução a Hooks - Aprenda a customizar o WordPress com filtros e ações
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e açõesfrq
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota(Portuguese) Java EE Poliglota
(Portuguese) Java EE PoliglotaPhil Calçado
 

Similar a Simple WordPress plugin development guide (20)

Advanced live testing em tempo real
Advanced live testing em tempo realAdvanced live testing em tempo real
Advanced live testing em tempo real
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Nossa experiência com TDD
Nossa experiência com TDDNossa experiência com TDD
Nossa experiência com TDD
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Segurança PHP em 2016
Segurança PHP em 2016Segurança PHP em 2016
Segurança PHP em 2016
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
VRaptor4
VRaptor4VRaptor4
VRaptor4
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e ações
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e açõesIntrodução a Hooks - Aprenda a customizar o WordPress com filtros e ações
Introdução a Hooks - Aprenda a customizar o WordPress com filtros e ações
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota(Portuguese) Java EE Poliglota
(Portuguese) Java EE Poliglota
 
Vraptor
VraptorVraptor
Vraptor
 

Más de Carlos J. Costa

Más de Carlos J. Costa (20)

Generative AI
Generative AIGenerative AI
Generative AI
 
IA Generativa
IA GenerativaIA Generativa
IA Generativa
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Power BI Computing Languages
Power BI Computing LanguagesPower BI Computing Languages
Power BI Computing Languages
 
Python Scikit-Learn
Python Scikit-LearnPython Scikit-Learn
Python Scikit-Learn
 
Python Pandas
Python PandasPython Pandas
Python Pandas
 
Python Numpy
Python NumpyPython Numpy
Python Numpy
 
Open Source Robotics as Booster to Creativity
Open Source Robotics as  Booster to CreativityOpen Source Robotics as  Booster to Creativity
Open Source Robotics as Booster to Creativity
 
Introdução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - ConceitosIntrodução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - Conceitos
 
Pós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de ProjetosPós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de Projetos
 
Introdução à Gestão de Projeto
Introdução à Gestão de ProjetoIntrodução à Gestão de Projeto
Introdução à Gestão de Projeto
 
Usability
UsabilityUsability
Usability
 
Wordpress
WordpressWordpress
Wordpress
 
Client-Side Web Development - An Overview
Client-Side Web Development - An OverviewClient-Side Web Development - An Overview
Client-Side Web Development - An Overview
 
HTML
HTMLHTML
HTML
 
Web Page Development - An Overview
Web Page Development - An OverviewWeb Page Development - An Overview
Web Page Development - An Overview
 
ERP
ERPERP
ERP
 
Weka
WekaWeka
Weka
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Globalization
GlobalizationGlobalization
Globalization
 

Simple WordPress plugin development guide

  • 1. Carlos J. Costa (2016) Plugins
  • 2. Carlos J. Costa (2016) Plugin Simples <? /** * @package batatinhas * @version 1.0 */ /* Plugin Name: batatinhas Plugin URI: http://sitedaminhaempresa.pt/produto Description:Este plugin serve para fazer quase tudo. Version: 1.0 Author URI:http://sitedaminhaempresa.pt */ class minhaClass { public static function init() { $class = __CLASS__; new $class; } function install() { } function uninstall() { } public function __construct() { echo "<p>batatinhas</p>"; } } register_activation_hook( __FILE__, array( 'minhaClass', 'install' ) ); register_uninstall_hook ( __FILE__, array( 'minhaClass', 'uninstall' ) ); add_shortcode( 'bat', array( 'minhaClass', 'init' )); ?> https://codex.wordpress.org/Plugin_API/Action_Reference
  • 3. Carlos J. Costa (2016) Instalação de Plugin ● Fazer upload ou colocar na pasta de plugins ● Activar ● Colocar shorcode, neste caso [bat] na página
  • 4. Carlos J. Costa (2016) Como melhorar ● Criar tabela na altura da instalação ● O seguinte código pode ser colocado no método install, que até aqui era chamado mas não fazia nada
  • 5. Carlos J. Costa (2016) Como melhorar global $wpdb; global $db_version; $db_version = '1.0'; $table_name = $wpdb->prefix . 'tableXYZ'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id int NOT NULL AUTO_INCREMENT, tempo datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, nome tinytext NOT NULL, texto text NOT NULL, url varchar(55) DEFAULT '' NOT NULL, PRIMARY KEY id (id) ) $charset_collate;";
  • 6. Carlos J. Costa (2016) Desafio ● No processo de instalação pode-se colocar dados nas tabelas. ● E na desinstalação também se pode apagar a tabela e eliminar os respectivos dados.
  • 7. Carlos J. Costa (2016) Alterando agora
  • 8. Carlos J. Costa (2016) Desafio ● Como alterar o método mostrar form para ter todos os campos relevantes? ● Como alterar o método receber de forma que em vez de mostrar os dados os armazene na tebela?