我正在寻找一个可以在长单页文档页面上自动创建导航菜单(例如通过使用短代码)的插件。 长页分为几个部分。我可以想象在每个部分的开头都使用一个短代码,这将创建一个菜单,例如可以在侧边栏中显示(可能通过第二个短代码或小部件调用)
有什么想法?建议?
谢谢!
答案 0 :(得分:2)
使用[section]Section Title[/section]
个简码,然后使用[section_navigation]
您希望导航链接输出的位置。
这有效,但大量警告 - [section_navigation]
需要在您的帖子/页面之后其他[section]
短代码...否则会生成一个空列表。
您可以将<?php echo do_shortcode("[section_navigation]");?>
放在sidebar.php中,在主题中使用它。只要get_sidebar()
位于主题模板the_content()
之后(通常是),它就会有效。
这将进入functions.php
$whit_sections = "";
// [section]My Section Title[/section]
function whit_section_shortcode( $atts, $title = null ) {
// $content is the title you have between your [section] and [/section]
$id = urlencode(strip_tags($title));
// strip_tags removes any formatting (like <em> etc) from the title.
// Then urlencode replaces spaces and so on.
global $whit_sections;
$whit_sections .= '<li><a href="#'.$id.'">'.$title.'</a></li>';
return '<span id="'.$id.'">'.$title.'</span>';
}
add_shortcode('section', 'whit_section_shortcode');
// [section_navigation]
function whit_section_navigation_shortcode( $atts, $title = null ) {
global $whit_sections;
return '<ul class="section-navigation">'.$whit_sections.'</ul>';
}
add_shortcode('section_navigation', 'whit_section_navigation_shortcode');