13.6 C
London
Saturday, May 9, 2026

Add Metabox to ACF Options Page in WordPress (Working Way)

Introduction

This problem comes when you try to add a metabox on an options page made with ACF.

If you already worked with custom post types, metabox is easy there. But on options page, it does not show.

You try many page IDs, but nothing works.

This guide shows simple way that actually works.


What Was Tried

Code like this was used:

add_meta_box( 'id', 'Title', 'callback', $pages );

And $pages had values like:

  • theme-options_page_theme_business_hours
  • admin.php?page=theme_business_hours
  • theme_business_hours

But metabox did not appear.


Why It Not Working

Options page in ACF is not same like post or page screen.

It uses its own screen ID.

So normal page slug will not work here.

That is why metabox is not showing.


Important Thing to Know

ACF options page uses this screen:

acf_options_page

If you donโ€™t use this, metabox will not load.


Simple Working Code

First create ACF options page:

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
        'page_title'  => 'My Options Page',
        'menu_title'  => 'My Options Page',
        'menu_slug'   => 'my-acf-options-page',
    ));
}

Add Metabox

Now add metabox only for that page:

add_action('admin_init', function() {    if (!isset($_GET['page'])) return;    if ($_GET['page'] !== 'my-acf-options-page') return;    add_meta_box(
        'my-metabox',
        'Metabox Title',
        'my_metabox_callback',
        'acf_options_page',
        'normal',
        'high'
    );
});

Callback Function

function my_metabox_callback() {
    echo "<p>Simple metabox content here</p>";
}

Why This Works

Two important things:

  1. Correct page check โ†’ $_GET['page']
  2. Correct screen โ†’ acf_options_page

Without this, WordPress does not know where to show metabox.


Small Example

One developer tried many page IDs but nothing worked.

After using:

  • acf_options_page
  • page check with $_GET

Metabox started showing.


Common Mistakes

  • Using page slug as screen ID
  • Not checking current page
  • Using normal post metabox logic
  • Not using ACF Pro

Important Note

This works properly with ACF Pro.

Free version may not support options page same way.


Quick Check

If metabox not showing:

  • Check ACF Pro installed
  • Check page slug correct
  • Check screen ID
  • Refresh admin page

FAQs

Why metabox not showing?

Wrong screen ID used.

What screen ID to use?

acf_options_page

Do I need ACF Pro?

Yes, for options page.

Can I use normal page slug?

No. It will not work.

Where to add code?

functions.php or plugin file


Final

Options page is different from post screen.

Once you use correct screen ID and page check, metabox works fine.

Keep setup simple

Latest news
- Advertisement -spot_img
Related news

LEAVE A REPLY

Please enter your comment!
Please enter your name here