ACF选项使用回调函数添加子菜单

时间:2018-11-14 23:23:52

标签: php wordpress advanced-custom-fields options

我想向选项页面添加自定义子菜单,以便可以使用添加的回调函数呈现页面。如果我创建acf_add_options_sub_page,则必须使用acf字段来生成选项页面。

new FormControl('', {updateOn: 'blur'});

我尝试过的

new FormControl('', {validators: [Validators.required, Validators.email], updateOn: 'blur'})

结果 它不起作用:URL变为:website.com/wp-admin/books-shortcode-ref

如果我将books-shortcode-ref更改为theme-general-settings,则可以使用,但它与以前使用过的acf插件相同。.i我必须使用acf字段添加选项

请帮助

2 个答案:

答案 0 :(得分:1)

这里,我刚刚用于将自定义子选项页面添加到ACF选项页面的代码已应用于您的示例。您必须使用相同的标识符(使用ACF和常规方式)两次声明您的选项页。因此,这有点棘手,但它的工作原理是:

DECLARE @Boundries TABLE(LowValue INT, HighValue INT, Decription NVARCHAR(500))
INSERT @Boundries VALUES (1,99999,'Below 100 000'),(100000,499999,'100 000 - 499 999'),(500000,999999,'500 000 - -999 999'),(1000000,4999999,'1 000 000 - 4 999 999'),(5000000,1000000000,'Over 5 Million')

;WITH Data As
(
    SELECT Name,Population = COUNT(*)
    FROM cities
    GROUP BY Name
)  
SELECT D.Name,D.Population,B.Decription
FROM
    Data D
    INNER JOIN @Boundries B ON D.Population BETWEEN B.LowValue AND B.HighValue

希望对您有所帮助!

答案 1 :(得分:1)

您也不必同时做父母和孩子。我希望页面可以是另一个现有项目(自定义帖子类型)的子项目,所以我只需执行以下操作即可。

要将页面设置为现有项的子项/子项(甚至不需要是选项页,我的也是CPT),只需在acf_add_options_page中指定parent_slug

'parent_slug'   => 'edit.php?post_type=orders',

这里是所有代码

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
        'page_title'    => 'ACF Options',
        'menu_title'    => 'ACF Options',
        'parent_slug'   => 'edit.php?post_type=orders',
        'menu_slug'     => 'books-ref-page',
        'redirect'      => false
    ));
}
function add_custom_option_page() {
    add_submenu_page(
        'edit.php?post_type=orders',
        __( 'Books Shortcode Reference', 'textdomain' ), 
        __( 'Shortcode Reference', 'textdomain' ),
        'manage_options', 
        'books-ref-page', 
        'books_ref_page_callback'
    );
} add_action('admin_menu', 'add_custom_option_page');
function books_ref_page_callback() {
     ?>
    <div class="wrap">
        <h1><?php _e( 'Books Shortcode Reference', 'textdomain' ); ?></h1>
        <p><?php _e( 'Helpful stuff here', 'textdomain' ); ?></p>
    </div>
    <?php
}