Two-tone menu items

时间:2010-12-27 作者:cannyboy

wp\\u list\\u页面似乎可以打印出菜单,但是否有办法更改功能,以便我可以以两种颜色显示菜单。。?

因此,如果3个实际页面的标题为:

Big Cinema * Monaco
Theatre * San Franciso
Sport * Berlin
(每页实际上有两个标题,星号用来分隔它们。可以使用另一个字符……或者有没有办法输入两个标题?)

当显示这些内容时,您会看到每页的两个标题显示略有不同:

摩纳哥大电影院

圣弗朗西索剧院

柏林体育

(上面的斜体代表蓝色,其余代表绿色)

有没有办法改变wp\\u list\\u页面的行为,或者有更好的方法来做到这一点?

3 个回复
最合适的回答,由SO网友:MikeSchinkel 整理而成

你好@cannyboy:

除非我误解了,我想你需要的是\'the_title\' 滤器

如果您只需在标题字段中输入“Title 1*Title2”,那么我为这个钩子编写的代码应该将您的Title2包装在<span class="title2"> 这将允许您使用CSS设置样式。您可以将以下代码放入主题的functions.php 文件:

add_filter(\'the_title\',\'yoursite_the_title\');
function yoursite_the_title($title) {
  $titles = explode(\'*\',$title);
  $title = trim($title[0]);
  if (isset($title[1])) 
    $title .= \' * <span class="title2">\' . trim($title[1]) . \'</span>\';
  return $title;
}
当然,这会将你的第二个标题包装到任何地方,因此你可能会在某些地方这样做,但你不想让它这样做,在这种情况下,你需要弄清楚如何告诉函数不要只在这些情况下运行。

SO网友:hakre

当然,这是。只需找到函数的代码wp_list_pages() (很高兴知道wordpress是免费软件,因此您可以访问源代码),然后查找与操作或挂钩或回调相关的任何内容。根据您的需要更改输出(很高兴知道HTML和CSS都是开放标准,所以您可以访问任何您喜欢的内容)。

所以要回答你的问题:是的,你可以做到。有关字符串函数,请参阅PHP手册,“*”是星号的字符串表示形式,然后访问w3c网站查看HTML和CSS的定义,这是浏览器显示网站的基础。

玩得高兴

SO网友:goldenapples

如果你愿意,你可以在你的页面标题中包含HTML标记——也许最简单的方法就是在你的页面标题中包含一个城市的span标记,你可以用css来设置样式。

或者,将“第二个标题”作为自定义字段,并使用\\u内容上的筛选器恢复它。。。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph