Wordpress 动态生成的单页导航菜单

Wordpress 动态生成的单页导航菜单,wordpress,Wordpress,啊,好的!我已经在WP支持论坛上发布了这个问题,但是社区似乎没有stack的那么活跃,所以我在这里抓住机会 我正在寻找一个插件,将自动创建一个导航菜单(通过使用短代码为例)在一个长的单页文档页面。 这一长页分为几个部分。我可以想象在每个部分的开头使用一个短代码,这将创建一个菜单,该菜单将显示在一个边栏中(可能通过第二个短代码或小部件调用) 有什么想法吗?建议 谢谢 使用[section]section Title[/section]短代码,然后在希望输出导航链接的位置使用[section\u n

啊,好的!我已经在WP支持论坛上发布了这个问题,但是社区似乎没有stack的那么活跃,所以我在这里抓住机会

我正在寻找一个插件,将自动创建一个导航菜单(通过使用短代码为例)在一个长的单页文档页面。 这一长页分为几个部分。我可以想象在每个部分的开头使用一个短代码,这将创建一个菜单,该菜单将显示在一个边栏中(可能通过第二个短代码或小部件调用)

有什么想法吗?建议


谢谢

使用
[section]section Title[/section]
短代码,然后在希望输出导航链接的位置使用
[section\u navigation]

这是可行的,但是有一个巨大的警告--[section\u navigation]需要在其他
[section]
快捷码之后出现在您的帖子/页面中。。。否则,它将生成一个空列表

通过将
放入sidebar.php,您可以在主题中使用它。只要
get_sidebar()
位于主题模板中的
内容()之后(通常是之后),它就可以工作

这将在functions.php中进行

$whit_sections=”“;
//[部分]我的部分标题[/section]
带节短码的函数($atts,$title=null){
//$content是您在[section]和[/section]之间的标题
$id=urlencode(带标签($title));
//strip_标记从标题中删除任何格式(如etc)。
//然后urlencode替换空格等等。
全球$whit_部分;
$whit_sections.='
  • '; 返回“.$title.”; } 添加_短代码('section','whit_section_短代码'); //[导航部分] 具有节导航短代码的函数($atts,$title=null){ 全球$whit_部分; 返回“
      ”。$whit_节。“
    ”; } 添加_短代码(“节导航”、“whit_节导航_短代码”);
    您是否尝试了提供的答案?谢谢,我会尝试一下,虽然我现在已经硬编码了,但稍后会派上用场。我会让你知道它是否像广告上说的那样有效;)非常感谢你的帮助和时间!我认为你应该用一个漂亮的小插件来包装这个东西,我确信有很多人在寻找它!干得好。
    $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');