首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ACF字段检查所有其他物品的字段值

ACF字段检查所有其他物品的字段值
EN

WordPress Development用户
提问于 2019-08-12 14:43:15
回答 1查看 42关注 0票数 0

我希望实现对我的ACF字段的基本检查。我在所有定制的post类型文章中都有一个名为Featured Article的ACF字段。这是一个简单的开关,允许onoff功能。我希望允许最多3篇文章同时与on设置,最多显示3篇文章给用户在前端。

对于这个功能,我必须编写一些代码来检查所有文章后端的设置。例如,当用户在第四篇文章中将ACF的选择切换到on时,应该会出现这样一个错误:“您已经选择了另外三篇文章,理想的情况是,它会以某种方式收集其他文章的标题,并允许快速关闭这些文章。

我知道这将为WP后端添加许多自定义特性,所以让我们从基础开始。如何使ACF字段能够交叉检查所有其他项目的值?

EN

回答 1

WordPress Development用户

发布于 2019-08-12 16:13:00

我能想到的唯一办法就是使用save_post 动作钩。因为您的文章不是通过AJAX保存的,而且只有当您实际保存文章时,在我看来,这才是最好的地方。

老实说,我并没有写很多错误信息,所以这可能是不可靠的,而且可能无法走出大门,但我从这篇文章来自点开始。

代码语言:javascript
复制
add_action( 'save_post', 'my_save_post_function' );
function my_save_function( $post_id ) {
    $error = false;

    $featured = get_posts(array(
        'meta_query' => array(
            array(
                'key' => 'featured_article',
                'compare' => '=',
                'value' => '1'
            )
        )
    ));

    if ( count($featured) > 3 ) {
        $error = new WP_Error('too_many_featured_articles', 'There are too many featured articles.');
        // You could use this error to list the titles and links to edit all of the other current featured articles.
    }

    if ($error) {
        // Here is where you would unset the ACF field, if you wanted.
    }

    return true;
}

这并不意味着要让你度过难关,但希望这对你来说是一个很好的起点。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/344949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档