如何将 wordpress meta_box 限制为单个页面?

发布于 2024-08-27 08:29:33 字数 470 浏览 4 评论 0原文

我需要一种方法将元框限制为单个页面(ID = 84)...如果我执行以下操作,它可以工作,但 sbumit 数据不会通过并且数据不会保存...

add_action('admin_init','violin_init');

function violin_init()
{
    if ($_GET['post'] == '84')
    {
        wp_enqueue_style('violin_admin_css', VIOLIN_THEME_PATH . '/custom/meta.css');

        add_meta_box('violin_options_meta', 'Highlight Content', 'violin_options_meta', 'page', 'normal', 'high');

        add_action('save_post','violin_save_meta');
    }
}

I need a way to limit the meta box to a single page (ID=84) ... if I do the following it works, but sbumit data does not go through and data is not saved ...

add_action('admin_init','violin_init');

function violin_init()
{
    if ($_GET['post'] == '84')
    {
        wp_enqueue_style('violin_admin_css', VIOLIN_THEME_PATH . '/custom/meta.css');

        add_meta_box('violin_options_meta', 'Highlight Content', 'violin_options_meta', 'page', 'normal', 'high');

        add_action('save_post','violin_save_meta');
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

耳根太软 2024-09-03 08:29:34

我找到了一个可行的解决方案,但我希望有一种方法可以通过 wordpress API 和/或 wordpress 的全局变量之一...

以下有效:

if ($_GET['post'] == '84' OR $_REQUEST['post_ID'] == '84')

此外,您还可以按特定模板进行过滤:

$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;

$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);

if ($template_file == 'home.php') {} // by template file

if ($post_id == 84) {} // by page ID

我写了一篇博客文章其上:页面特定 WordPress 元框

I've found a solution that works, but I wish there was a way through the wordpress API and/or one of wordpress' globals ...

the following works:

if ($_GET['post'] == '84' OR $_REQUEST['post_ID'] == '84')

Additionally you can also filter by a specific template:

$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;

$template_file = get_post_meta($post_id,'_wp_page_template',TRUE);

if ($template_file == 'home.php') {} // by template file

if ($post_id == 84) {} // by page ID

I wrote a blog post on it: Page Specific WordPress Meta Box

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文