Informações diversas sobre as extensões para o FlatPress CMS
Alterar extensão
Após baixar uma nova extensão, pelo gerenciador de arquivos da sua hospedagem (ou FTP), navegue até a pasta do flatpress fp-plugins
e descompacte o arquivo. Abra o site no painel de controle, acesse o menu Plugins, localize o nome do plugin e clique no link 'Ative'.
Extensões disponíveis
A lista de plugins que vem com por padrão são:
- Accessible Antispam - Para evitar spam solicita responder uma simples questão matemática
- AdminArea - Fornece Widget com alguns links úteis de administração e um link de login/logout
- Akismet - Outro sistema de antispam (requer cadastro no wordpress.com e configuração de API). Verifica seus comentários no serviço web do Akismet para ver se eles parecem spam ou não.
- Archives - Adiciona um elemento de widget de posts arquivados
- BBCode - Permite que você use a marcação BBCode
- BlockParser - permite que você use blocos personalizados simples sem um plugin
- Calendar - Adiciona um elemento do widget de Calendário
- Categories - Adiciona um elemento de widget Categorias
- Comment Center - Gerencie os comentários do seu blog: defina políticas, publique ou rejeite comentários
- FavIcon - Adiciona um ícone personalizado ao seu blog/site
- FootNotes - Ativa notas de rodapé em suas entradas
- jQuery - Fornece o a biblioteca javascript´localmente
- LastComments - Adiciona um elemento de widget dos últimos comentários
- LastComments Admin - Gerenciar o cache do plugin LastComments. Requer o plug-in LastComment ativado.
- LastEntries - Adiciona um elemento de widget de últimas entradas
- LightBox2 - Sobreposições de Lightbox usando SlimBox2. Requer o jQuery. Plugin jsutils modificado.
- Media Manager - Gerencie os arquivos carregados e a galerias de fotos
- PostViews - Conta e exibe as visualizações de entrada
- PrettyURLs - Altera o formato da URL para ficar mais bonita
- QuickSpamFilter (qspam) - bloqueia comentários contendo determinadas palavras
- ReadMore - Quebra uma postagem em determinada área (quando encontrar o bbCode '[more]' no texto) e anexa o link "leia mais".
- SearchBox - Adiciona um elemento de widget de caixa de pesquisa
- Thumbnails - Se estiver carregado, usando o parâmetro
scale
em uma imagem (por exemplo: [img=images/something.jpg scale=50%]). A miniatura é armazenada em cache no diretórioimages/.thumbs
Um tipo de plugin especial é o Widget. Saiba mais no link Diversos.
FlatPress Extras
São plugins que não estão no repositório padrão por não estarem no formato de pacote, alguns precisam ser testados [+]:
- DateChanger - Permite alterar a data de publicação de (novas) entradas
- Markdown - Fornece suporte a Markdown em postagens
Extensões da comunidade
Há os plugins criados pela comunidade e você pode baixar no site oficial.
Estrutura da pasta fp-plugins
fp-plugins/ <-- Contém os plugins do CMS
delete.me
accessibleantispam/
plugin.accessibleantispam.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
adminarea/
plugin.adminarea.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
akismet/
plugin.akismet.php
inc/
Akismet.class.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
admin.plugin.akismet.tpl
archives/
plugin.archives.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
bbcode/
authors
ChangeLog
install
license
thanks
plugin.bbcode.php
inc/
stringparser.class.php
stringparser_bbcode.class.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
panels/
admin.plugin.panel.bbcode.php
res/
bbcode.css
editor.js
toolbaricons/
icons.txt
bold.png
code.png
del.png
h1.png
h2.png
h3.png
html.png
italic.png
link.png
mail.png
ol.png
quote.png
ul.png
underlined.png
tpls/
admin.plugin.bbcode.tpl
toolbar.tpl
blockparser/
plugin.blockparser.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
admin.plugin.blockparser.tpl
calendar/
plugin.calendar.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
categories/
plugin.categories.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
widget.tpl
commentcenter/
plugin.commentcenter.php
imgs/
inc/
lang/
res/
tpls/
favicon/
plugin.favicon.php
imgs/
favicon.ico
footnotes/
plugin.footnotes.php
how_to_use.txt
jquery/
plugin.jquery.php
res/
jquery/
3.5.1/
jquery-3.5.1.min.js
jqueryui/
1.12.1/
AUTHORS.txt
LICENSE.txt
package.json
index.html
jquery-ui.min.css
jquery-ui.min.js
jquery-ui.structure.css
jquery-ui.structure.min.css
lastcomments/
plugin.lastcomments.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
plugin.lastcomments-feed.tpl
lastcommentsadmin/
plugin.lastcommentsadmin.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
admin.plugin.lastcommentsadmin.tpl
lastentries/
plugin.lastentries.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
lightbox2/
plugin.lightbox2.php
imgs/
closelabel.gif
loading.gif
nextlabel.gif
prevlabel.gif
lang/
lang.cs-cz.php
...
lang.pt-br.php
res/
slimbox2.css
slimbox2.js
mediamanager/
plugin.mediamanager.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
panels/
panel.mediamanager.file.php
res/
folder.gif
image2.gif
style.css
unknown.gif
tpls/
admin.plugin.mediamanager.files.tpl
postviews/
plugin.postviews.php
prettyurls/
plugin.prettyurls.php
htaccess.txt
htaccess-new
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
admin.plugin.prettyurls.tpl
qspam/
plugin.qspam.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
tpls/
admin.plugin.qspam.tpl
readmore/
plugin.readmore.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
searchbox/
plugin.searchbox.php
thumb/
plugin.thumb.php
lang/
lang.cs-cz.php
...
lang.pt-br.php
Informações de desenvolvimento
Aumente as funcionalidades do FlatPress através das extensões.
Estrutura padrão de uma extensão
fp-plugins/
nomeDaExtensao/
plugin.NomeDaExtensao.php <-- Define e executa o processamento da extensão
lang/ <-- Define os idiomas que serão utilizados
lang.en-us.php
...
lang.pt-br.php
Exemplos de códigos:
Veja conforme abaixo que é definido nos comentários as informações da extensão que irá aparecer no Painel de Administrador do FlatPress, em seguida você desenvolve uma função, que realiza alguma tarefa e depois é chamada através de add_action ou add_filter. Caso prefira um único idioma insira o texto direto no plugin, do contrário crie um arquivo de idioma, e utilize lang_load para ler as chaves traduzidas. Por fim, registre o widget com register_widget. Lembre-se de incluir no arquivo theme.conf.php do tema a função register_widgetset para que esteja habilitado widgets.
<?php
/*
* Plugin Name: NomeDestePlugin
* Plugin URI: https://www.siteDoPlugin.com
* Author: Nome do Autor
* Author URI: https://www.siteDoAutor.com
* Description: Descreva o que esse plugin faz
* Version: 1.0
*/
# Utilize essa função para retornar o caminho atual
require plugin_getdir('NomeDestePlugin') . '/inc/arquivo.class.php';
...
# Chama a função dentro da área de cabeçalho do tema
add_filter('wp_head', 'plugin_xxx_head');
...
# Invoca a função dentro do cabeçalho da página (desde que esteja definido)
add_action('wp_head', 'plugin_style_head');
...
# Executa a função definida no rodapé do tema
add_action('wp_footer', 'plugin_rodape');
...
# Após carregar $lang acesse os dados "$lang['plugin']['archives']['chave']"
$lang = lang_load('plugin:NomeDestePlugin');
...
# Registra o plugin 'NomeDestePlugin'
register_widget('nomedesteplugin', 'NomeDestePlugin', 'plugin_NomeDestePlugin_widget');
?>
Constantes
Usando as variáveis abaixo é possível entrar/referenciar um diretório Plugin: PLUGINS_DIR/plugin.PLUGINNAME/PLUGINFILE
- PLUGINS_DIR - O diretório onde as extensões estão armazenadas
- PLUGINNAME - Nome da extensão
Outras variáveis podem ser encontradas em \admin\panels\entry\admin.entry.commentlist.tpl