Hoje vou postar alguns exemplos de códigos funcionais que vão te ajudar a criar shortcodes para exibir e listar custom post types dentro do seu WordPress, para quem não sabe CPT são formas de você ter mais conteúdos específicos no seu painel, por exemplo, post é um post_type, Portfolio é outro, Páginas são outros, e assim vai.
Normalmente Custom Post_Types são utilizados em diversos tipos de WordPress para customização da área de cliente, podendo ser utilizados para praticamente tudo que se envolva a listagem de conteúdo específicos, normalmente se utiliza o plugin CPT UI para fazer a criação dos Posts e das Taxonomias necessárias.
Entretanto, um problema é exibir esses posts, ainda não temos um plugin realmente funcional para isso, então shortcodes sempre salvam!
add_shortcode( 'product-list','bpo_product_list' ); function bpo_product_list ( $atts ) { $atts = shortcode_atts( array( 'category' => '' ), $atts ); $terms = get_terms('product_category'); wp_reset_query(); $args = array('post_type' => 'product', 'tax_query' => array( array( 'taxonomy' => 'product_category', 'field' => 'slug', 'terms' => $atts, ), ), ); $loop = new WP_Query($args); if($loop->have_posts()) { while($loop->have_posts()) : $loop->the_post(); echo ' "'.get_the_title().'" '; endwhile; } else { echo 'Sorry, no posts were found'; } }
Acima temos um exemplo bacana de uso de ShortCode para recuperar dados de um Custom Post Type
Para obter mais informações, consulte CPT (CPT), product_category (categoria de produto).
[product-list category="shirts"] Outro Exemplo:
function shortcode_bws_quiz_maker($id) { if($id!='') { $post_id=$id[0]; $html=''; global $wpdb; $args=array('post_type'=>'post_type','p'=>$post_id); $wp_posts=new WP_Query($args); $posts=$wp_posts->posts; $html.="What you to get write here"; return $html; } else { return 'Please enter correct shortcode'; } } add_shortcode('bws_quiz_maker','shortcode_bws_quiz_maker');
Mais um exemplo funcional:
if ( ! function_exists('events_shortcode') ) { function events_shortcode() { $args = array( 'post_type' => 'events', 'post_status' => 'publish', 'order' => 'ASC', 'posts_per_page' => 10, ); $postslist = new WP_Query( $args ); global $post; if ( $postslist->have_posts() ) : $events .= '<div class="events-lists">'; while ( $postslist->have_posts() ) : $postslist->the_post(); $events .= '<div class="items">'; $events .= '<a href="'. get_permalink() .'">'. get_the_title() .'</a>'; $events .= '</div>'; endwhile; wp_reset_postdata(); $events .= '</div>'; endif; return $events; } add_shortcode( 'events', 'events_shortcode' ); }
Site para Clube de Cerveja Italiano – Degustazione di Birra
A Landing Page do Club d’Oro , Degustazione di Birra, foi desenvolvida para o meu [...]
fev
Site para Clínica de Bem Estar – Clínica Bem
O Site da Clinica Bem foi totalmente pensado para um público que é amante do [...]
fev
Acender Velas na Catedral de Fátima em Portugal – Site para Startup Internacional
A parte divertida de ser um WebDeveloper totalmente autonomo é poder escolher os projetos a [...]
fev
Landing Pages para Manutenção de Imóveis em Lisboa – Portugal
Em Janeiro me foi solicitado construir 4 Landing Pages para a empresa ResolveJá, empresa localizada [...]
fev
Site para Balada Noturna – LoveStory SP a maior balada de São Paulo
Site para Balada, LoveStorySP é este site! A construção do Site da LoveStory SP foi [...]
jan
Site para Pesqueiro – Pousada e Pesqueiro Sangri-lá
O Site do Pesqueiro Shangri-lá foi um orgulho de ser desenvolvido, ele com certeza está [...]
jan
Global Active Study – Portal para Intercâmbio
O Site do Global 2020 foi uma reformulação do antigo site que havia montado em [...]
dez
Site para Cursos de Pós Graduação e IMBA – Instituto IPOG
Desenvolver as Landing Pages do IPOG foi basicamente o meu presente de Natal neste ano, [...]
dez
GrupFarma – Loja virtual para Farmácia de Manipulação
A Conclusão do Site da GrupFarm foi bastante rápida pois trabalhei em conjunto com um [...]
dez
QUER TER UM SITE INCRÍVEL PARA A SUA EMPRESA ?
FALE COMIGO AGORA