I am having trouble getting content within Repeatable Field Groups (RFG) to show up in Relevanssi search results. I have followed the steps to include custom fields in the indexing, but specific words within the RFG aren't showing up in the search results.
Solution:
Ensure that the child post type for the RFG is included in the Relevanssi indexing settings. In the Relevanssi indexing tab, ensure the post type is indexed and check the "Respect exclude_from_search" option under the Searching tab. Use the ID of the child post when debugging.
The customer wanted to display the value of the "Date of birth" user field in a custom post type called "publication." They were looking for a way to do this through a function rather than a shortcode, as publications are added via a Toolset CRED form.
Solution:
To achieve this, the customer was advised to follow a three-step process:
1- Create a Custom Field:
They needed to create a custom field in their "publication" post type to store the user's date of birth. This field could be named birth-post-field.
2- Populate Existing Posts:
A custom function was provided to loop through existing posts and retrieve the date of birth from the user meta. The code snippet provided was:
function update_birth_field_for_existing_posts() {
// Replace 'your_custom_post_type' with your actual CPT slug
$custom_post_type = 'your_custom_post_type';
// Query to get all posts of the specified custom post type
$query_args = array(
'post_type' => $custom_post_type,
'posts_per_page' => -1, // Retrieve all posts
'post_status' => 'publish', // Only published posts
'fields' => 'ids' // We only need the post IDs
);
// Execute the query
$posts = get_posts($query_args);
// Loop through each post
foreach ($posts as $post_id) {
// Get the post author ID
$author_id = get_post_field('post_author', $post_id);
// Get the 'birth' custom field value for the author
$client_birth = get_user_meta($author_id, 'wpcf-birth', true);
// Check if the author has a 'birth' value
if (!empty($client_birth)) {
// Update the post meta with the user's birth value
update_post_meta($post_id, 'wpcf-birth-post-field', sanitize_text_field($client_birth));
}
}
// Remove the action after it runs to prevent it from running multiple times
remove_action('admin_init', 'update_birth_field_for_existing_posts');
}
// Hook the function to admin_init so it runs when any admin page is accessed
add_action('admin_init', 'update_birth_field_for_existing_posts');
This code should be added to the theme's functions.php file and executed once by accessing the WordPress admin dashboard.
3- Automatically Populate on New Posts:
Another function was provided to ensure that when new publications were created or edited through the CRED form, the user's date of birth would automatically populate in the custom field:
add_action('cred_save_data', 'my_save_user_birth_to_post', 10, 2);
function my_save_user_birth_to_post($post_id, $form_data) {
// Your Toolset form ID in here
if ($form_data['id']==ID) {
// Check if the user is logged in
if (is_user_logged_in()) {
// Get the current user ID
$current_user_id = get_current_user_id();
// Get the 'birth' custom field value for the current user
$clientBirth = get_user_meta($current_user_id, 'wpcf-birth', true);
// Check if the user has a 'birth' value
if (!empty($clientBirth)) {
// Save the user's 'birth' value to the post's 'wpcf-birth-post-field' custom field
update_post_meta($post_id, 'wpcf-birth-post-field', sanitize_text_field($clientBirth));
}
}
}
}
After implementing these steps, the customer would have a new custom field linked to the user's date of birth, ensuring that new posts or edits would sync the user's birthdate with the post field. They would also be able to utilize the post field in views.
The customer wanted to create a search form with drop-down options for filtering academic texts on their website, aiming to replicate a search functionality similar to that on the Jeb Dunnuck site. They faced difficulties implementing this using Toolset Views with the legacy editor.
Solution:
To achieve the desired search functionality, the customer was advised to add a select dropdown for post type filters within their view and use the following code for implementation: