Trabalhando com posts e campos personalizados #CPBR9

82
trabalhando com Posts e Campos personalizados

Transcript of Trabalhando com posts e campos personalizados #CPBR9

trabalhando com

Posts e Campos

personalizados

@RafaelFunchal

Web Developer, Publicitário e músico nas horasvagas. Desenvolve para WordPress desde 2009, éum dos administradores do grupo WordPressBrasil no Facebook, ajuda a organizar oWordCamp e meetups em São Paulo e é umHappiness Engineer no WordPress.com

WordPressé só para blogs?

O que é possível fazer

com WordPress?

Se você souber PHP, HTML, JS e CSS

o céu é o limite!

Mas preciso desenvolver

tudo do zero?

PluginsAdicione funcionalidades ao seu sitewordpress.org/plugins

e-Commercescrie lojas virtuais facilmente

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Jigoshop

Market Press

The Cart Press

WP e-Commerce

Newsletterscrie listas e dispare seu e-mail marketing

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Enviando por SMTP Providers

ElasticEmail (os primeiros 1.000 emails são gratuitos)

MailGun (10.000 emails gratuitos por mês)

Mandrill (12.000 emails gratuitos por mês)

SendGrid (6.000 emails gratuitos por mês)

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Mail-Tester.comUm projeto criado por MailPoet e AcyMailing

Como testar

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Mail-Tester.com

O site já está totalmentetraduzido para pt_BR

Social Networksredes sociais a um plugin de distância

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outra opção

WP Symposium

Classificadosseu próprio site de anúncios

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Another WordPress Classifieds Plugin

BePro Listings

Car Seller - Auto Classifieds Script

Cursoscompartilhe seu conhecimento em aulas online

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

CoursePress

LFE online courses

Namaste! LMS

WP Courseware

WpCourses

Afiliaçãocrie uma área de membros em seu site

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

iThemes Exchange

Magic Members

MemberMouse

MemberPress

Restrict Content Pro

Simple Members Area

WP Members

Fórunscrie grupos de discussão sobre qualquer assunto

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Bublaa Forum and Comments

Forums

Muut

Empregosanuncie vagas e freelas

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Job Board

Job Manager

Job Roller

Resume Submissions & Job Postings

Suportegerencie e responda tickets pelo seu site

Eventosdivulgue shows, reuniões etc.

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Ajax Event Calendar

All-in-One Event Calendar

Event Espresso

Event List

Event Organiser

Events Made Easy

Events Manager

Reservasexiba um calendário e gerencie reservas

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Appointments

Booking Calendar & Appointment Scheduler

Bookings

easyReservations

Guestful Widget

ReDi Reservation

ResRes Restaurant Reservations

Downloadsvenda arquivos digitais, mas não pirateie!

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Outras opções

Delightful Downloads

Download Monitor

Easy Media Download

Sell Downloads

Simple Download Monitor

WordPress Download Manager

WP Filebase

Enquetescrie questionários e pesquisas em seu site

Idiomasdisponibilize seu conteúdo em múltiplos idiomas

Mas também é possível criar blogs usando

WordPress!

O que é um

Custom Post Typecodex.wordpress.org/Post_Types

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Tipos de post

WordPress pode gerenciar vários tipos deconteúdo.

Post é um tipo de post ;-)

Todos os tipos de post são salvos na tabelawp_posts mas são diferenciados pela colunapost_type.

O WordPress 3.0 tornou possível criar Tipos dePost Personalizados.

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Tipos de post instalados por padrão

Post (Post Type: 'post')

Página (Post Type: 'page')

Mídia (Post Type: 'attachment')

Revisão (Post Type: 'revision')

Menu (Post Type: 'nav_menu_item')

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Criando um CPT<?php

add_action( 'init', 'create_post_type' );function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, 'has_archive' => true, ) );}

O que é um

Custom Fieldcodex.wordpress.org/Custom_Fields

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Campos personalizados

WordPress permite que você insira campospersonalizados nos posts.

Essas informações adicionais são conhecidascomo meta-data.

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Adiciona ou atualiza um custom field<?php

if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) { update_post_meta ( 7, 'fruit', 'banana' );}

por que não usar um

Theme Starter?

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Criando um CPT com o Odingithub.com/wpbrasil/odin/wiki/Classe-Odin_Post_Type

No functions.phprequire_once get_template_directory() . '/core/classes/class-post-type.php';

<?php

$video = new Odin_Post_Type( 'Video', // Nome (Singular) do Post Type. 'video' // Slug do Post Type.);

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Criando um metabox com o Odingithub.com/wpbrasil/odin/wiki/Classe-Odin_Metabox

No functions.phprequire_once get_template_directory() . '/core/classes/class-metabox.php';

<?php

$videos_metabox = new Odin_Metabox( 'videos', // Slug/ID do Metabox (obrigatório) 'Videos Configurações', // Nome do Metabox (obrigatório) 'post', // Slug do Post Type, sendo possível enviar apenas um valor ou um array com vários (opcional) 'normal', // Contexto (opções: normal, advanced, ou side) (opcional) 'high' // Prioridade (opções: high, core, default ou low) (opcional));

Trabalhando com Posts e Campos Personalizados @RafaelFunchal

Criando um custom field no metaboxgithub.com/wpbrasil/odin/wiki/Classe-Odin_Metabox

<?php

$videos_metabox→set_fields( array( array( 'id' => 'test_text', 'label' => __( 'Test Text', 'odin' ), 'type' => 'text', 'description' => __( 'Descrição do campo de text', 'odin' ) ) ));

Obrigado!Dúvidas? Perguntas? :-)