【问题标题】:Using Hashtags in Wordpress Nav Menu?在 Wordpress 导航菜单中使用标签?
【发布时间】:2017-01-14 17:07:05
【问题描述】:

我正在开发一个单页网站,我正在寻找一个 wordpress 解决方案来创建指向每个帖子的链接。例如,我想实现这样的目标

<ul id="navigation" class="menu1">
    <li><a href="#post-1">...</a></li>
    <li><a href="#post-2">...</a></li>
    <li><a href="#post-3">...</a></li>
    <li><a href="#post-4">...</a></li>
</ul>

到目前为止,我看到的解决方案是处理编辑 .htaccess,否则它们不是永久性的。

我怎样才能在主题级别上实现这样的目标?

这是一个能够实现我想要做的事情的主题:http://themes.mdnw.net/?theme=shapeshifter

如果您单击左侧的链接(博客除外),它只会在网站上上下滚动。如何设置这样的导航?

【问题讨论】:

  • 因为这是一个 JavaScript 增强菜单,所以去看看他们的脚本——然后回来询问你不理解的那部分脚本。
  • 主题标签是在 Twitter 上搜索内容的快捷方式。这些是片段标识符(早在 Twitter 的用户群提出主题标签之前就已经存在了)。
  • 会有多少帖子?会不断有新的,还是你可以硬编码菜单?

标签: php wordpress html wordpress-theming


【解决方案1】:

你可以像这样使用 jQuery:

$("#navigation a").click(function(event) {
    event.preventDefault();
    var link_href = $(this).attr('href');
    var post_id = link_href.replace(/[^0-9]/g, '');
    $.scrollTo('#post-' + post_id, 800);
});

当点击导航链接时,POST 编号/id 会从 href 哈希 #post-432 中提取。并使用 $.scrollTo plugin 滚动到具有相同帖子编号/ID 的 div。

这是一个从帖子集生成导航菜单的示例代码。

<ul id="navigation" class="menu1">
<?php
global $post;
$args = array( 'numberposts' => 5 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :  setup_postdata($post); ?>
    <li><a href="#post-<?php the_ID(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

您仍然需要查询每个帖子的内容。类似的查询应该可以解决问题并获取the_content()

【讨论】:

    猜你喜欢
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2012-09-18
    • 2019-09-08
    相关资源
    最近更新 更多