篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Como criar um插件Wordpress相关的知识,希望对你有一定的参考价值。
# Como criar plugin Wordpress
## Setup inicial
Criar a pasta com o nome do plugin no path /wordpress/wp-content/plugins
- ex: `meuprojeto/wp-content/plugins/meu_primeiro_plugin`
## Arquivo de configuração
Criar uma arquivo com o mesmo nome do plugin na raiz da pasta do plugin, contendo o seguindo conteúdo
```php```
// meuprojeto/wp-content/plugins/meu_primeiro_plugin/meu_primeiro_plugin.php
<?php
/*
Plugin Name: Meu Primeiro Plugin
Plugin URI: http://urldositedoplugin.com
Description: Meu primeiro plugin no WP
Version: 1
Author: Marcio
Author URI: http://marciojunior.com
License: GPLv2 or later
Text Domain: meu_primeiro_plugin
```
## Criando classe padrão Singleton
```php```
<?php
// meuprojeto/wp-content/plugins/meu_primeiro_plugin/meu_primeiro_plugin.php
class Meu_Plugin {
private static $instance;
public static function getInstance() {
if(self::$instance == NULL) {
self::$instance = new self();
}
}
private function __construct() {
remove_action('welcome_panel', 'wp_welcome_panel');
add_action('welcome_panel', 'my_welcome');
// ... All scripts here...
}
}
Meu_Plugin::getInstance();
```
## Adicionando css
```php```
<?php
class Meu_Plugin {
private function __construct() {
add_action('admin_enqueue_scripts', array($this, 'add_my_css');
}
function add_my_css() {
wp_register_style('my_css', plugin_dir_url(__FILE__).'css/style.css');
wp_enqueue_style('my_css');
// plugin_dir_url(__FILE__) pega o caminho do plugin
}
}
}
```
## Flush rewrite rules
```php```
<?php
public static activate() {
self::register_post_type();
flush_rewrite_rules();
}
Meu_Plugin::getInstance();
register_deactivation_hook(__FILE__, 'flush_rewrite_rules');
register_activation_hooke(__FILE__,'Meu_Plugin::activate');
```
## Internacionalização
```php```
// Instalar plugin Loco Translator para ajudar a traduzir
private function __construct() {
add_action('init', array($this,'load_textdomain'));
}
function load_textdomain() {
load_plugin_textdomain(self::TEXT_DOMAIN, false, dirname(plugin_basename(__FILE__)));
}
// chamando a tradução
_e("Esse titulo sera traduzido sem o echo", TEXT_DOMAIN);
echo __("Esse titulo sera traduzido somento com o echo", TEXT_DOMAIN);
```
## Adicionando menu no admin
```php```
<?php
class My_Plugin {
private function __construct() {
add_action('admin_menu', array($this, 'add_my_plugin_menu'));
}
public function add_my_plugin_menu() {
add_menu_page('Menu Nome', 'Menu Nome', 'manage_options', 'my_plugin', 'My_Plugin::my_function_here', 'dashicon-twitter', '25');
}
```
以上是关于markdown Como criar um插件Wordpress的主要内容,如果未能解决你的问题,请参考以下文章