我正试图让Wordpress给我一个菜单项去“最新帖子”。它们出现在首页上,但是一旦我离开,我想要一个菜单项回到那里。这似乎是显而易见的,但几个小时后,我能做的最好的事情就是创建一个自定义菜单,其中包含指向“未分类”的链接作为解决方法。肯定有更好的办法!就这样,我得到一个方框,上面写着“在未分类类别下提交的档案档案。”不想要!
答案 0 :(得分:1)
使用自定义查询在模板目录(http://codex.wordpress.org/Pages#Page_Templates)中创建自定义页面(请访问http://codex.wordpress.org/Class_Reference/WP_Query,http://codex.wordpress.org/Function_Reference/query_posts或http://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)
试试这个插件:https://de.wordpress.org/plugins/dynamic-latest-post-in-nav-menu/效果非常好,代码在这里开源:https://github.com/hijiriworld/dynamic-latest-post-in-nav-menu
答案 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;
}