WordPress自定义帖子类型管理页面布局

时间:2015-06-26 08:11:20

标签: php html wordpress user-interface admin

所以我正在创建一个使用自定义帖子类型的插件,我想创建自定义布局/ UI

我知道元框,但我相信这不是前进的方向。

目前我正在使用它:

add_action('edit_form_advanced', 'my_add_to_core');

function my_add_to_core() {
    global $post;
    if ($post->post_type == 'my_post_type') {

        $tabs = [
            'General',
            'Settings',
            'Extras'
        ];

        ?>
            <div class="my-container">
                <div class="tab-group">
                    <nav>
                        <ul>
                            <?php $i = 0; foreach ($tabs as $tab) { ?>
                                <?php
                                    $i++;
                                    $title = $tab;
                                    $slug = sf_safestring($tab);
                                    $classes = '';
                                    if ($i == 1) $classes .= 'active';
                                ?>
                                <li class="<?= $classes; ?>"><a href="#<?= $slug; ?>"><?= $title; ?></a></li>
                            <?php } ?>
                        </ul>
                    </nav>
                </div>
                <div class="tabs">
                    <?php $i = 0; foreach ($tabs as $tab) { ?>
                        <?php
                            $i++;
                            $title = $tab;
                            $slug = sf_safestring($tab);
                            $classes = 'tab tab_'.$slug;
                            if ($i == 1) $classes .= ' active';
                        ?>
                        <div class="<?= $classes; ?>">
                            <h3><?= $title; ?></h3>
                        </div>
                    <?php } ?>
                </div>
            </div>
        <?php
    }
}

这就是我所期望的,将我的HTML添加到核心页面布局。

继承输出的布局:

Out putted html

但我觉得这不是正确的做法。感觉有点哈哈。

有人可以提供建议吗?

1 个答案:

答案 0 :(得分:0)

自定义元数据盒是为自定义帖子类型设置布局的正确方法。

Meta box是完全支持的,可移植的内容组。它们有一系列预先设计的样式,您可以通过检查和复制核心元框中的不同类名来使用它们。最终用户还可以重新组织元框,如果它们没有以他们舒适的工作方式布局。除此之外,从屏幕下拉菜单中,人们可以启用和禁用每个元框的可见性。您还可以将每个元框的默认位置编程为“从”开始。

如果你想让开发更快一些,你可以使用一个非常强大,流行且常用于WordPress社区的框架。它叫做ACF或高级自定义字段。它可以帮助您为高级CPT工作流构建自定义元框。

http://www.advancedcustomfields.com/

我个人不使用它,因为升级主要版本可能需要使用代码对所有项目进行大量更新。也就是说,它可以减少开发时间,并开箱即可完成一些相当惊人的事情。