-
-
Save dharma017/92a13465f666759ff596 to your computer and use it in GitHub Desktop.
Search wordpress custom fields
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 | |
| // in this case we have three ACF Relationship fields set up, they have the names | |
| // acf_rel_1, acf_rel_2, and acf_rel_3 (NOTE: these are the NAMES not the labels) | |
| // ACF stores post IDs in one form or another, so indexing them does us no good, | |
| // we want to index the title of the related post, so we need to extract it | |
| function my_searchwp_custom_fields( $customFieldValue, $customFieldName, $thePost ) { | |
| // by default we're just going to send the original value back | |
| $contentToIndex = $customFieldValue; | |
| // check to see if this is one of the ACF Relationship fields we want to process | |
| if( in_array( strtolower( $customFieldName ), array( 'acf_rel_1', 'acf_rel_2', 'acf_rel_3' ) ) ) { | |
| // we want to index the titles, not the post IDs, so we'll wipe this out and append our titles to it | |
| $contentToIndex = ''; | |
| // related posts are stored in an array | |
| if( is_array( $customFieldValue ) ) { | |
| foreach( $customFieldValue as $relatedPostData ) { | |
| if( is_numeric( $relatedPostData ) ) { // if you set the Relationship to store post IDs, it's numeric | |
| $title = get_the_title( $relatedPostData ); | |
| $contentToIndex .= $title . ' '; | |
| } else { // it's an array of objects | |
| $postData = maybe_unserialize( $relatedPostData ); | |
| if( is_array( $postData ) && !empty( $postData ) ) { | |
| foreach( $postData as $postID ) { | |
| $title = get_the_title( absint( $postID ) ); | |
| $contentToIndex .= $title . ' '; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| return $contentToIndex; | |
| } | |
| add_filter( 'searchwp_custom_fields', 'my_searchwp_custom_fields', 10, 3 ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment