Get AI SEO for FREE.

Learn More!

How to Use ACF Repeater Fields to Automate FAQ Schema

In this knowledgebase article, we’re going to walk you through how to use ACF Repeater Fields to Automate FAQ Schema.

1 Install Rank Math Plugin

First, you need to Install the Rank Math plugin.

Rank Math Plugin

2 Install Advanced Custom Field

Once you have installed Rank Math, then install the Advanced Custom Field. Please ensure that the ACF module is enabled from WordPress Dashboard → Rank Math SEO → Dashboard.

Advanced Custom Fields PRO

3 Create ACF Repeater Field

Create a new ACF Repeater Field. To do so, navigate to Custom Field → Field Groups. Click on Add New as shown below:

Field Groups

4 Create New FAQ Fields

Create a new field as FAQ Fields and click on Add Field as shown below:

Add New Field Group

Fill in all the details and select the Field Type as Repeater.

Field Type- Repeater

5 Create Field for FAQ Question

Create a new field for FAQ Question in the Repeater field as shown below:

FAQ Questions

6 Create Field for FAQ Answer

Similarly create a new field for FAQ Answer in the Repeater field.

FAQ Answer

7 Create a Post and Fill the FAQ Fields

Add a new Post and fill the FAQs using the newly created fields.

Fill the FAQ in Post

8 Add the Code in rank-math.php File

Navigate to WordPress Dashboard → Appearance → Theme File Editor.

Navigate to Theme File Editor

In case, if it is a block theme you should navigate to WordPress Dashboard → Tools → Theme File Editor.

Theme File Editor in Block Theme

Now, select rank-math.php in the theme files. If you’re automating the FAQ Schema for your posts, add the below code snippet to the rank-math.php file.

add_filter( 'rank_math/json_ld', function( $data, $jsonld ) {
if( ! have_rows('faq-acf-repeater') ) {
return $data;
}
$data['faqs'] = [
'@type' => 'FAQPage',
];
while( have_rows('faq-acf-repeater') ) {
the_row();
$data['faqs']['mainEntity'][] = [
'@type' => 'Question',
'name' => esc_attr( get_sub_field('faq_question') ),
'acceptedAnswer' => [
'@type' => 'Answer',
'text' => esc_attr( get_sub_field('faq_answer') ),
],
];
}
return $data;
}, 10, 2 );

If you’re automating the FAQ Schema for your categories, add the below code snippet to the rank-math.php file.

add_filter( 'rank_math/json_ld', function( $data, $jsonld ) {	
    if(is_category()) {
		$queried_object = get_queried_object_id( );
		if( ! have_rows('faq-acf-repeater', "category_".$queried_object) ) {
		return $data;
	    }
        $data['faqs'] = [
            '@type' => 'FAQPage',
        ];
        while( have_rows('faq-acf-repeater', "category_".$queried_object) ) {
            the_row();
            $data['faqs']['mainEntity'][] = [
                '@type' => 'Question',
                'name' => esc_attr( get_sub_field('faq_question', "category_".$queried_object) ),
                'acceptedAnswer' => [
                '@type' => 'Answer',
                'text' => esc_attr( get_sub_field('faq_answer', "category_".$queried_objectt) ),
                ],
            ];
        }
    }
	return $data;
}, 10, 2 );

Once done, edit the filter as explained below.

  • Change the faq-acf-repeater to the field created in step 3 at line2.
  • Change faq_question to the field created in step 5 at line 12.
  • Change faq_answer to the field created in step 6 at line 15.

Finally, click the Update File button.

If you still have any questions about how to use ACF repeater fields to automate FAQ Schema – you’re always more than welcome to contact our dedicated support team. They are available 24/7, 365 days a year…

Still not using Rank Math?

Setup takes less than 5 minutes including the import from your old SEO Plugin!

Learn more about the PRO Version

Still need help?

?

Submit Your Question

Please give us the details, our support team will get back to you.

Open Ticket

Related Articles