【发布时间】:2017-03-14 15:56:34
【问题描述】:
在我的 WordPress 博客上,我试图为侧边栏小部件提供特定的 ID。我只想给他们一个简单的递增 ID,例如 id="sidebar-box-" . $i 其中 i 是递增变量。
我有从this page 获得的代码,它可以给它一个特定的 id,但我想更多地控制 id 以用于样式目的并保持我的 css 遵循相同的模式。我目前的代码如下所示:
function custom_sidebar() {
register_sidebar( array(
'name' => 'Blog Sidebar',
'id' => 'blog_sidebar',
'before_widget' => '<div id="sb-box-%d" class="sidebar-box">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
) );
}
但是这段代码给了我一个像这样的 id:decent_comments_widget-2。我的理解是 %1 是说使用 printf 函数的第一个参数,就像基于what I've read 的字符串一样。我无法理解 $s 部分是什么,我什至不确定它从哪里获取第一个参数,因为 register 侧边栏函数仅被传递一个数组作为它的第一个参数。什么是在最后制作一个带有递增变量的简单 id 的正确方法?也欢迎任何帮助理解这种格式的变量。谢谢!
编辑:我将 id 值从 "sb-box-%1$s" 更改为 "sb-box-%d" 但现在我只打印了 "sb-box-0"一遍又一遍地为侧边栏中的每个“侧边栏框”类 div。我不知道设置变量的正确位置。
【问题讨论】:
-
1$可用于参数交换,更多信息请查看the documentation。 -
@tomudding,不是
$s,而是1$。s部分只是表示字符串部分。 -
@AlexBlex 哎呀,我的错,我复制了错误的东西。