Wordpress最新帖子菜单项

时间:2013-01-16 15:16:03

标签: wordpress menu posts

我正试图让Wordpress给我一个菜单项去“最新帖子”。它们出现在首页上,但是一旦我离开,我想要一个菜单​​项回到那里。这似乎是显而易见的,但几个小时后,我能做的最好的事情就是创建一个自定义菜单,其中包含指向“未分类”的链接作为解决方法。肯定有更好的办法!就这样,我得到一个方框,上面写着“在未分类类别下提交的档案档案。”不想要!

5 个答案:

答案 0 :(得分:1)

使用自定义查询在模板目录(http://codex.wordpress.org/Pages#Page_Templates)中创建自定义页面(请访问http://codex.wordpress.org/Class_Reference/WP_Queryhttp://codex.wordpress.org/Function_Reference/query_postshttp://codex.wordpress.org/Template_Tags/get_posts )。

在管理员中创建一个页面,然后选择您创建的模板。

在菜单中添加指向此页面的链接,您就完成了。

答案 1 :(得分:1)

也许这会有所帮助:http://www.viper007bond.com/2011/09/20/code-snippet-add-a-link-to-latest-post-to-wordpress-nav-menu/

这是一个过滤器,可以使用最新帖子的实际网址“搜索和替换”占位符锚点,例如'#latestpost1',从而在呈现之前动态修改菜单。

我不确定这对于搜索引擎优化是怎样的,但它是一个聪明的解决方案。

答案 2 :(得分:0)

为您的所有帖子添加类别名称。使用像“新闻”,“文章”或“博客”这样的通用名称。然后,从类别下的菜单页面中选择您选择的名称类别。将此类别链接添加到您的菜单。根据您的意愿重命名链接 - 例如“博客”。并且,中提琴 - 当人们点击该链接时,您的所有帖子都会显示。

答案 3 :(得分:0)

答案 4 :(得分:0)

简单的解决方案:

我拿了这个人的代码:http://www.viper007bond.com/2011/09/20/code-snippet-add-a-link-to-latest-post-to-wordpress-nav-menu/

基本上他写的是菜单项链接到最新帖子,而不是帖子(复数),所以我刚刚对其进行了修改,并且可以正常工作:

<?php
if ( ! is_admin() ) {
    // Hook in early to modify the menu
    // This is before the CSS "selected" classes are calculated
    add_filter( 'wp_get_nav_menu_items', 'replace_placeholder_nav_menu_item_with_latest_post', 10, 3 );
}

// Replaces a custom URL placeholder with the URL to the latest post
function replace_placeholder_nav_menu_item_with_latest_post( $items, $menu, $args ) {

    // Loop through the menu items looking for placeholder(s)
    foreach ( $items as $item ) {

     // Is this the placeholder we're looking for?
        if (!strpos(($item->url), 'latestpost'))
            continue;
      //  if ( 'latestpost' != $item->url )
        //    continue;

        // Get the latest post
        $latestpost = get_posts( array(
            'numberposts' => 1,
        ) );

        if ( empty( $latestpost ) )
            continue;

        // Replace the placeholder with the real URL
        $new_link = $item->url;
        $new_link = substr($new_link, 0, strlen($new_link) - 12);
        $item->url = $new_link;
    }

    // Return the modified (or maybe unmodified) menu items array
    return $items;
}