所以我正在创建一个使用自定义帖子类型的插件,我想创建自定义布局/ 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添加到核心页面布局。
继承输出的布局:
但我觉得这不是正确的做法。感觉有点哈哈。
有人可以提供建议吗?
答案 0 :(得分:0)
自定义元数据盒是为自定义帖子类型设置布局的正确方法。
Meta box是完全支持的,可移植的内容组。它们有一系列预先设计的样式,您可以通过检查和复制核心元框中的不同类名来使用它们。最终用户还可以重新组织元框,如果它们没有以他们舒适的工作方式布局。除此之外,从屏幕下拉菜单中,人们可以启用和禁用每个元框的可见性。您还可以将每个元框的默认位置编程为“从”开始。
如果你想让开发更快一些,你可以使用一个非常强大,流行且常用于WordPress社区的框架。它叫做ACF或高级自定义字段。它可以帮助您为高级CPT工作流构建自定义元框。
http://www.advancedcustomfields.com/
我个人不使用它,因为升级主要版本可能需要使用代码对所有项目进行大量更新。也就是说,它可以减少开发时间,并开箱即可完成一些相当惊人的事情。