0

我试图弄清楚我们如何修改此代码,以便它为 meta_key 中的每个条目创建一个复选框。

这是一个将在菜单页面上使用的元框。

meta_key 有多个条目,我想出现在元框的检查列表中。我还希望 URL 输入框包含已检查的相同元值。如果有人能指出我正确的方向,我将不胜感激。

这是我用来从键中回显元值列表的代码。我需要使用它为每个值创建一个复选框。

<?php echo esc_attr( get_post_meta($post->ID, 'newtheme_section_id', true) ); ?>

这是我用来创建元框的代码。

if ( !class_exists('JMO_Custom_Nav')) {
    class JMO_Custom_Nav {
        public function add_nav_menu_meta_boxes() {
            add_meta_box(
                'wl_login_nav_link',
                __('WishList Login'),
                array( $this, 'nav_menu_link'),
                'nav-menus',
                'side',
                'low'
            );
        }

        public function nav_menu_link() {?>
            <div id="posttype-wl-login" class="posttypediv">
                <div id="tabs-panel-wishlist-login" class="tabs-panel tabs-panel-active">
                    <ul id ="wishlist-login-checklist" class="categorychecklist form-no-clear">
                        <li>
                            <label class="menu-item-title">
                                <input type="checkbox" class="menu-item-checkbox" name="menu-item[-1][menu-item-object-id]" value="-1"> This is the code for checkbox
                            </label>
                            <input type="hidden" class="menu-item-type" name="menu-item[-1][menu-item-type]" value="custom">
                            <input type="hidden" class="menu-item-title" name="menu-item[-1][menu-item-title]" value="Login">
                            <input type="hidden" class="menu-item-url" name="menu-item[-1][menu-item-url]" value="<?php echo esc_attr( get_post_meta($post->ID, 'newtheme_section_id', true) ); ?>
                            <input type="hidden" class="menu-item-classes" name="menu-item[-1][menu-item-classes]" value="wl-login-pop">
                        </li>
                    </ul>
                </div>
                <p class="button-controls">
                    <span class="list-controls">
                        <a href="/wordpress/wp-admin/nav-menus.php?page-tab=all&amp;selectall=1#posttype-page" class="select-all">Select All</a>
                    </span>
                    <span class="add-to-menu">
                        <input type="submit" class="button-secondary submit-add-to-menu right" value="Add to Menu" name="add-post-type-menu-item" id="submit-posttype-wl-login">
                        <span class="spinner"></span>
                    </span>
                </p>
            </div>
        <?php }
    }
}

$custom_nav = new JMO_Custom_Nav;

add_action('admin_init', array($custom_nav, 'add_nav_menu_meta_boxes'))
4

1 回答 1

0

您告诉get_post_meta使用第三个参数带来单个值,尝试使用以下内容:

$sections = get_post_meta($post->ID, 'newtheme_section_id', false);

foreach( $sections as $section ) {
  // do something with $section
}
于 2013-05-01T02:04:06.520 回答