Last active
October 25, 2022 17:29
-
-
Save taciara/1507d895cf445a51ba66aa225db834b6 to your computer and use it in GitHub Desktop.
How to search in ACF’s Custom Fields in WordPress (Como pesquisar nos campos personalizados do ACF no WordPress)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Crie um arquivo chamado admin_search_custom_fields.php no diretorio /includes/ | |
* E add o COD abaixo. | |
* | |
* Extend WordPress search to include custom fields | |
* https://taciara.com.br | |
* | |
* Join posts and postmeta tables | |
* http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_join | |
*/ | |
function cf_search_join( $join ) { | |
global $wpdb; | |
if ( is_search() ) { | |
$join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id '; | |
} | |
return $join; | |
} | |
add_filter('posts_join', 'cf_search_join' ); | |
/** | |
* Modify the search query with posts_where | |
* http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_where | |
*/ | |
function cf_search_where( $where ) { | |
global $pagenow, $wpdb; | |
if ( is_search() ) { | |
$where = preg_replace( | |
"/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", | |
"(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where ); | |
} | |
return $where; | |
} | |
add_filter( 'posts_where', 'cf_search_where' ); | |
/** | |
* Prevent duplicates | |
* http://codex.wordpress.org/Plugin_API/Filter_Reference/posts_distinct | |
*/ | |
function cf_search_distinct( $where ) { | |
global $wpdb; | |
if ( is_search() ) { | |
return "DISTINCT"; | |
} | |
return $where; | |
} | |
add_filter( 'posts_distinct', 'cf_search_distinct' ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//Adicione isso no seu functions.php | |
require_once( 'includes/admin_search_custom_fields.php' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment