Jump to content

Recommended Posts

Boas. Para fins de aprendizado, estou criando um tema personalizado e do zero, a ideia é não ter a dependência de nenhum plugin e entender como funciona os processos. Nesse caminho surgiu uma dúvida, explico:

Vou cadastrar em uma determinada categoria alguns posts meio padrão tipo, titulo, corpo (texto) e escrever um resumo no campo específico.

Só que no corpo de cada post eu vou ter um elemento específico, tipo um "embed" (apenas um em cada post).

Tem como criar alguma função, filtro ou sei lá, que de alguma forma na listagem (loop) dos posts eu consiga capturar apenas esse elemento  específico do corpo?

Resumindo, o que eu pretendo é criar uma página apenas dessa categoria e na listagem trazer o Título, o Resumo e esse elemento específico do corpo.

 

Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Roberto Pereira Lima Ribei
      Olá pessoal.
       
      O site do meu cliente tinha um problema nas buscas, como mostra a imagem:

       
      Na barra lateral, essa busca era filtrada pelo plugin Search & Filter com a opção de selecionar as categorias de Custom Post Types criadas com o ACF e CPT UI.
       
      A questão é que mesmo havendo vários posts com a palavra chave relacionada "olfato", somente uma publicação aparecia.
       
      Aparentemente, um conflito entre os plugins gerou a falha e consegui corrigir usando o ACF: Better Search.

       
      Só que nessa, ainda não mostrava também os resultados para publicações que constavam a palavra-chave somente em campos personalizados e perdemos a filtragem e o seletor (feito pelo Search & Filter).
       
      Consegui resolver a busca. O post "Teste para busca" tem a palavra-chave somente no campo personalizado.
      Mostrar as categorias de publicações do CPT UI, consegui resolver com o o Plugin Custom Post Types Widget.
       

       
      Agora, preciso filtrar a amostragem dessas categorias de acordo com os resultados de busca e ter um seletor, para que o usuário possa selecionar um ou mais categorias e mostrar apenas os posts relacionados a elas.
       
      Eu encontrei esse código que aprimora os resultados da busca nativa do wordpress, mas não encontro o arquivo onde eu devo colocar esse código. Quando eu fiz as alterações tanto no arquivo seach.php quanto functions.php, o site quebrou. Não faço ideia se errei os parâmetros, argumentos ou o que fiz de errado. (novato)
       
      Essa é a página onde aparecem os resultados:
      https://geroprodev.dbai.com.br/?s=olfato&post_type[]=post&post_type[]=page&post_type[]=acervo&post_type[]=produtos&post_type[]=projetos&post_type[]=evento&fs=1
       
      Essa é a página de busca:
      https://geroprodev.dbai.com.br/busca-teste/
       
      Esse é o link código que encontrei no Github para extender a pesquisa nativa com o Search & Filter que eu quero usar como referência (que eu não encontrei onde vou incluir esse código):
      https://support.searchandfilter.com/forums/topic/compatibility-with-acf-better-search/
       
      https://gist.github.com/fiskhandlarn/f6f86c99e59f62d72ac2ce10be12dc1a/
       
      ☼ IMPORTANTE ☼
      O tema utilizado é o Avada.
      Mesmo com vários plugins sendo indicados para resolver esse problema, neste caso, nenhum deles resolveu.
      A solução mais simples que encontrei foi usar a "Search CPT" e o plugin ACF: Better Search.
      O que eu não encontrei em nenhuma pasta do CPT foi o arquivo search.php ou relacionado.
       

      E esse é o código:
       
      <?php /* ############################## ########### Search ########### ############################## Included are steps to help make this script easier for other to follow All you have to do is add custom ACF post types into Step 1 and custom taxonomies into Step 10 I also updated this work to include XSS and SQL injection projection [list_searcheable_acf list all the custom fields we want to include in our search query] @return [array] [list of custom fields] */ // Define list of ACF fields you want to search through - do NOT include taxonomies here function list_searcheable_acf(){ $list_searcheable_acf = array( "your", "acf", "non-repeater", "field-names", "here", "repeater" => array( "repeater-sub-field1", "repeater-sub-field2" ) ); return $list_searcheable_acf; } /* * [advanced_custom_search search that encompasses ACF/advanced custom fields and taxonomies and split expression before request] * @param [query-part/string] $search [the initial "where" part of the search query] * @param [object] $wp_query [] * @return [query-part/string] $search [the "where" part of the search query as we customized] * modified from gist: https://gist.github.com/FutureMedia/9581381/73afa809f38527d57f4213581eeae6a8e5a1340a * see https://vzurczak.wordpress.com/2013/06/15/extend-the-default-wordpress-search/ * credits to Vincent Zurczak for the base query structure/spliting tags section and Sjouw for comment cleanup */ function advanced_custom_search( $search, $wp_query ) { global $wpdb; if ( empty( $search )) { return $search; } // 1- get search expression $terms_raw = $wp_query->query_vars[ 's' ]; // 2- check search term for XSS attacks $terms_xss_cleared = strip_tags($terms_raw); // 3- do another check for SQL injection, use WP esc_sql $terms = esc_sql($terms_xss_cleared); // 4- explode search expression to get search terms $exploded = explode( ' ', $terms ); if( $exploded === FALSE || count( $exploded ) == 0 ) { $exploded = array( 0 => $terms ); } // 5- setup search variable as a string $search = ''; // 6- get searcheable_acf, a list of advanced custom fields you want to search content in $list_searcheable_acf = list_searcheable_acf(); // 7- get custom table prefixes, thanks to Brian Douglas @bmdinteractive on github for this improvement $table_prefix = $wpdb->prefix; // 8- search through tags, inject each into SQL query foreach( $exploded as $tag ) { $search .= " AND ( (".$table_prefix."posts.post_title LIKE '%$tag%') OR (".$table_prefix."posts.post_excerpt LIKE '%$tag%') OR (".$table_prefix."posts.post_content LIKE '%$tag%') ". // 9- Adds to $search DB data from custom post types "OR EXISTS ( SELECT * FROM ".$table_prefix."postmeta WHERE post_id = ".$table_prefix."posts.ID AND ("; // 9b - reads through $list_searcheable_acf array to see which custom post types you want to include in the search string $metaStatements = array(); foreach ($list_searcheable_acf as $key => $searcheable_acf) { if ( is_array( $searcheable_acf ) ) { foreach ( $searcheable_acf as $repeater_acf ) { array_push( $metaStatements, "(meta_key LIKE '" . $key . "_%_" . $repeater_acf . "' AND meta_value LIKE '%$tag%')" ); } } else { array_push( $metaStatements, "(meta_key = '" . $searcheable_acf . "' AND meta_value LIKE '%$tag%')" ); } } $search .= join( $metaStatements, "\n OR " ); $search .= ") )". // 10- Adds to $search DB data from comments "OR EXISTS ( SELECT * FROM ".$table_prefix."comments WHERE comment_post_ID = ".$table_prefix."posts.ID AND comment_content LIKE '%$tag%' )". // 11 - Adds to $search DB data from taxonomies "OR EXISTS ( SELECT * FROM ".$table_prefix."terms INNER JOIN ".$table_prefix."term_taxonomy ON ".$table_prefix."term_taxonomy.term_id = ".$table_prefix."terms.term_id INNER JOIN ".$table_prefix."term_relationships ON ".$table_prefix."term_relationships.term_taxonomy_id = ".$table_prefix."term_taxonomy.term_taxonomy_id". // 11b- Add custom taxonomies here " WHERE ( taxonomy = 'your' OR taxonomy = 'custom' OR taxonomy = 'taxonomies' OR taxonomy = 'here' ) AND object_id = ".$table_prefix."posts.ID AND ".$table_prefix."terms.name LIKE '%$tag%' )". ")"; // closes $search } // closes foreach return $search; } // closes function advanced_custom_search // 12- use add_filter to put advanced_custom_search into the posts_search results add_filter( 'posts_search', 'advanced_custom_search', 500, 2 );  
      Preciso entender como modificar esses argumentos e onde é que vou inserir as categorias/subcategorias dos Custom Post Types e como filtrar nessa aba lateral.
      É possível fazer isso usando o próprio Custom Post Type Widget? Faço pela busca nativa ou pela busca do CPT?
       
       
      Obrigado desde já!
    • By mamotinho
      Olá, estou com uma dúvida. gostaria de saber como faço para ocultar minhas informações quando alguém for pesquisar pelo meu site, vi que está mostrando meus dados.
       se alguem puder me ajudar fico grato.

    • By maria2022x
      Oi, o "menus" no wordpress(dashboard) nao ta aparecendo dentro do menu "aparencia" .
       
      To usando o plugin polylang e nao to conseguindo mudar o menu do site quando muda o idioma.
       
      Alguem pode ajudar?
    • By eduardomr98
      Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
       
      <?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
       
      Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
       
      Obrigado!!
    • By Thiago Duarte
      Oi, eu tenho um plugin chamado " contact form 7" e ele funcionava perfeito na outra hospedagem que tinha e mudei de hospedagem e agora ele não funciona mais.
       
      Será que o problema é da hospedagem ou será que teve alguma atualização do plugin e parou de funcionar? como faço pra saber com exatidão qual foi o problema que aconteceu?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.