你在正确的轨道上。一个选项是:创建自己的插件,该插件可以创建短代码,非技术娴熟的用户可以很容易地将其粘贴到编辑器中(甚至在粘贴到可视化编辑器中时也可以使用)。您还可以用浮动div替换表。
如果您已经在使用诸如Foundation或Bootstrap之类的框架,那么表到div的转换将更加容易。这两个都使用网格系统,因此您不必找出<tr>
标记开始和结束-您可以将每个人包装在<div>
使用正确的类。在Foundation中,您可以使用以下内容
<div class="row team small-up-2 medium-up-3 large-up-4">
<div class="column" onclick="openNav(\'username1\')">Person 1\'s name</div>
<div class="column" onclick="openNav(\'username2\')">Person 2\'s name</div>
</div>
这被称为
Block Grid, 这很好,因为你可以在单曲中容纳你想要的任何人
row
- 它们将根据您设置的数字在彼此下方浮动
small-up-2
等
至于创建短代码的插件,这里有一个基本示例,您可以从开始,然后进一步自定义。在插件文件中:
<?php
/*
Plugin Name: Team Member Overlay
Description: Creates shortcodes so content editors don\'t have to copy code
Version: 1.0
*/
add_shortcode(\'teamwrapper\', \'outer_wrap_team_code\');
function outer_wrap_team_code() {
return \'<div class="row team">\' . do_shortcode($content) . \'</div>\';
}
add_shortcode(\'teammember\', \'wrap_team_member_code\');
function wrap_team_member_code($atts, $content = null) {
$a = shortcode_atts(array(
\'id\' => \'1\',
\'name\' => \'Empty Name\'
), $atts);
return \'<div class="column" id=\' . $a[\'id\'] . \'>\' . $a[\'name\'] . \'</div><div class="overlay" id="\' . $a[\'id\'] . \'">\' . do_shortcode($content) . \'</div>\';
}
?>
此处的关键信息:
第一个短代码用作外包装。这样可以防止内容在屏幕上全宽显示,如<table>
标签会,但它也很灵敏,所以你可以在更小的屏幕上放大更多第二个短代码将围绕每个人。内容管理器需要输入用于触发正确覆盖的ID。因为他们是在内容编辑器中输入的,所以没有一种使用PHP自动递增的方法
do_shortcode()
嵌套短代码时需要-如果忘记了它,则只有外部包装器可以工作,而嵌套的[teammember]
不起作用这里的标记与您的原始标记不太匹配,因此您需要进行调整,看看哪些标记最有效一旦插件被激活,当有人编辑列出所有人的页面时,他们将键入:
[teamwrapper]
[teammember id="username1" name="Person 1\'s name"]Person 1\'s bio[/teammember]
[teammember id="username2" name="Person 2\'s name"]Person 2\'s bio[/teammember]
...
[/teamwrapper]
这个
[teamwrapper] [/teamwrapper]
无论您有多少团队成员,都应该使用快捷代码。