【发布时间】:2017-06-05 22:03:51
【问题描述】:
我正在创建的 WordPress 网站有一个常见问题页面。每个问题/答案对都是通过使用 SiteOrigin Page Builder Plugin 和自定义小部件创建的。我希望能够添加新问题并重新排列它们,而无需手动重新编号。
这就是现在的样子:
我只想对问题进行动态编号(1.、2.、3. 等等,就在问题之前)。
我可以想到一些可能完成此任务的 hack-ish 方法,例如滥用 <ol> 标记或全局变量。我也许还可以使用一些代码来计算使用“问题”类创建的元素的数量,但感觉这会给使用仅存在的简单整数变量增加不必要的代码/延迟此页面正在呈现。
在 WordPress 中可以吗?如果是这样,我该如何完成它?如果没有,有没有比我提到的更好的方法?
如果有帮助,这里是我的小部件 PHP 文件中的渲染代码:
public function widget( $args, $instance )
{
$question = $instance['question'];
$answer = $instance['answer'];
echo $args['before_widget'];
if ( ! empty( $question ) )
{
echo '<h3 class="question">';
echo '. ';
echo $question;
echo '</h3>';
}
if ( ! empty( $answer ) )
{
echo '<p>';
echo $answer;
echo '</p>';
}
echo $args['after_widget'];
}
【问题讨论】:
-
嗨!数字是干什么用的?它们需要顺序吗?还是代表页面上的订单?或者您只是希望每个小部件都有一个唯一的 ID?
-
@MacPrawn 我只希望它们被订购 1. 2. 3. 等等,以便于查找和参考问题。我会更新帖子,以便更清楚。
-
哦,好吧,为什么
- 会辱骂?似乎是它的完美用例?
-
嗯,好吧,取决于你想要支持的浏览器,你可以在 css 中做到这一点:css-tricks.com/almanac/properties/c/counter-reset... 否则,一些 javascript 也可以做到这一点。或者服务器端,正如你所建议的,一个类变量或类似的东西。
-
解决方案会非常复杂,通常使用 wordpress 的关键是识别钩子或过滤器(如果有)。通常没有记录,您必须搜索您的页面构建器代码。但是如果你找到了,你可以使用functions.php中的钩子来计算它们的create钩子上的行数,甚至是一个过滤器
标签: php wordpress siteorigin