我正在使用一个使用 sprintf 的主题,我对此很陌生。我无法从开发人员那里获得自定义支持,所以我试图自己解决。
不了解 sprintf 的工作原理,我在 Google 上搜索了大量页面,试图找到我认为很简单的解决方法。
主题使用 %s 加载文本字符串,在本例中为页面标题。我只希望标题链接到页面!而已!不多,不多。我能够在下面想出一些接近的东西:
// Featured columns
case 'columns':
$count = Website::getThemeOption('front_page/columns/count');
$classes = array('one', 'two', 'three', 'four');
$columns = array();
for ($i = 0; $i < $count; $i++) {
extract(Website::getThemeOption('front_page/columns/column/'.$i, true)->toArray());
$text = DroneFunc::stringToHTML($text, false);
if ($more && $link) {
$text .= sprintf(' <a href="%s" class="more">%s</a>', $link, $more);
}
$columns[] = sprintf(
'<li class="column">'.
'<img src="%s/data/img/icons/32/%s" alt="" class="icon">'.
'<h1><a href="%1$s">%s</a></h1><p>%s</p>'.
'</li>',
Website::get('template_uri'), $icon, $title, $text
);
}
?>
<section class="columns <?php echo $classes[$count-1]; ?> clear">
<ul>
<?php echo implode('', $columns); ?>
</ul>
</section>
<?php
break;
现在最初,没有超链接引用......我添加了它。现在这样做是使 h1 标题可点击,但它只是转到主题文件夹的根目录,而不是标题的页面。
任何有助于理解这一点并使其发挥作用的帮助将不胜感激。