Default WordPress Search does not work
-
Hello,
I have created my first post-type with Pods and created several posts. It’s great.
I have now templates and the posts are on the website…
But when I’m searching one of the words of the content I have no result with default WP search.
“Exclude from research” is not selected.
I switch to Twenty Twenty theme and i have no more search result for the post-type…What can I do more to resolve this issue ? Where can i explore ?
Thanks for your help !Gilldart
-
Hello @gilldart
This might be a theme/plugin conflict.
See this page for more info: https://docs.pods.io/faqs/plugin-theme-conflicts/Let me know!
Cheers, JoryHi Jory,
and thank you for your reply.I have installed “Health Check and Troubleshooting” plugin.
I only activate Pods plugin and i still have the issue.
I noticed that the research is working with the titles of the post-type but not with the content. Is there a special config to index the content of the fields ?Giildart
Hi @gilldart
Is there a special config to index the content of the fields ?
Did you mean field content or Post content?
If you meant field content then you should create templates to show these fields.
Please view our introduction video: https://docs.pods.io/videos/grow-beyond-posts-pages-introduction-pods-framework/Cheers, Jory
Hi Jory,
I have already seen the vidéo before beginning with Pods. It’s helping.
I am not sure to understand the difference but I meant the texts in the different Posts i have created (like a WP post or page…).
Here is what i did :
I have created a Pod (content type = custom post type) named “Parutions” with 3 fields : ‘Liminaire’, ‘Sommaire’ and “Période”.
I have two templates : One for the archives and one for the posts “Parutions”.
I have created about 50 posts ‘Parutions” and there are OK in front office… Of course they have different automatic WP post_title and post_content. The search is working with them but not with the texts of the pods fields (Liminaire, Sommaire, Période).Sincerely,
Gilldart-
This reply was modified 5 years, 8 months ago by
gilldart.
Hi @gilldart
Check, in that case you still need to add the templates (PHP or Pods Templates, see video) to the custom post type single/singular pages. There are not there by default.
Another option is to use pods shortcodes inside your post content, example:
[pods field="liminaire"](Make sure this is the field name, not the field label.Cheers, Jory
Hi @keraweb
And many thanks for your help 😉
I tried your suggestions without success.
So I decided to create a new Pod from scratch following the video from 8′ to 30′. I have a Staff pod with page, detail, template… it’s OK.
But when i am searching the phone number or email of a staff member i still have no result ! Grrrr.
I think i am going to install a fresh WP.
I will tell you…
Sincerely
GilldartHello @gilldart
Keep in mind that WP search does not search metadata! So if you search for something that isn’t available in the post content itself the search won’t work.
You could add all post’s metadata to the search query to fix this.
Some code I found online, I haven’t verified it work’s 100%:add_action( 'pre_get_posts', array( $this, 'search_metadata' ), 9 ); function search_metadata() { if ( ! is_main_query() || ! is_search() ) { return; } add_filter( 'posts_join', function( $join ) { global $wpdb; return $join .' LEFT JOIN ' . $wpdb->postmeta . ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id '; } ); add_filter( 'posts_where', function ( $where ) { global $wpdb; $or = array( "(".$wpdb->posts.".post_title LIKE $1)", "(".$wpdb->postmeta.".meta_value LIKE $1)", ); if ( is_main_query() && is_search() ) { $where = preg_replace( "/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", implode( ' OR ', $or ), $where ); } return $where; } ); add_filter( 'posts_distinct', function () { global $wpdb; return "DISTINCT"; } ); }Other options are to use plugins like:
https://ww.wp.xz.cn/plugins/relevanssi/Cheers, Jory
Hi Jory,
So I understand that the search couldn’t find the ‘liminaire’ metadata content.
I put the code in /wp-content/themes/mytheme/functions.php but i get an error.
Is it the right place ?
Do you have a link to the doc ?
Cheers,
GilldartHi @gilldart
We don’t have a doc, I simply found this online.
but i get an error
A right, I think you need to change the first line to this:
add_action( 'pre_get_posts', 'search_metadata', 9 );If you get more errors, please share the exact error.
Cheers, Jory
YES !!!
It’s working. This is great.
Many thanks for your patience and your help.
Sincerely
GilldartYou’re welcome! The best way to say thanks is to leave a 5 star review at https://ww.wp.xz.cn/plugins/pods/ and (if you’re feeling especially generous) become a Friend of Pods at https://friends.pods.io/
Cheers, Jory
-
This reply was modified 5 years, 8 months ago by
The topic ‘Default WordPress Search does not work’ is closed to new replies.