Iframe中的WordPress wp_NAV_MENU

时间:2012-05-18 作者:Lee Peterson

编辑2:我将如何创建iFramewp_nav_menu 内容,同时维护与其显示关联的样式和脚本?(请忽略以下所有看似令人困惑的背景,即为什么有人会想这样做。)

编辑1:这个问题与WordPress的wp_nav_menu.

我的客户对通过iframing内部链接(如整个页眉和页脚)来塑造他们的页面排名非常感兴趣。

我试图通过在站点的根目录中创建一个php文件并在其中更改WP_USE_THEMES 为false,要求wp-blog-header.php 文件,然后调用wp_nav_menu. 这种分类是可行的,但我只剩下404,链接没有样式。

有什么优雅的方法可以做到这一点吗?仅仅是这个想法就让人觉得很刻薄,我一直坚持分享我的想法。但也许有一些SEO专家做过这个?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

要获得有效的导航菜单,需要完成WordPress的设置。我的建议是使用add_feed(). 忽略名称,您可以text/html 作为输出。

让我们从代码开始

<?php # -*- coding: utf-8 -*-
/*
Plugin Name: T5 Iframe Nav Menu
Description: Display a nav menu in an iframe.
Version:     2012.05.18

Refresh the permalinks after activation!
*/
add_action( \'init\', \'wpse_52623_register_nav_menu_iframe\' );

function wpse_52623_register_nav_menu_iframe()
{
    add_feed( \'navmenuiframe\', \'wpse_52623_callback\' );
}

function wpse_52623_callback()
{
    // if you don\'t use a separate stylesheet change this.
    $stylesheet = get_stylesheet_directory_uri() . \'/menu.css\';
    ?>
<!doctype html>
<base target=\'_top\'>
<title>menu</title>
<link rel=\'stylesheet\' href=\'<?php echo $stylesheet; ?>\'>
    <?php
    wp_nav_menu(
        array ( // Adjust the location value
            \'theme_location\' => \'top-menu\',
        )
    );
}
打开\'init\' 注册伪提要。第一个参数是URI,第二个参数是打印输出的回调函数functions.php) 访问永久链接设置页面,让WordPress刷新重写规则。菜单现在有一个真正的URL;参观/navmenuiframe/ 来看看吧/navmenuiframe/ 作为src 属性\'theme_location\' 样式表URI是正确的iframe URL并在回调函数中相应地过滤导航菜单输出,以修复此问题

结束

相关推荐

Custom menus not showing

作为我上一次关于菜单的未解决查询的后续,这个问题已经进一步扩展。我的菜单没有打印代码中的任何地方。我正在注册菜单功能。php:add_action( \'after_setup_theme\', \'your_newtheme_setup\' ); if ( ! function_exists( \'your_newtheme_setup\' ) ) : function your_newtheme_setup() { if (