WordPress 导航在文章、博客和博客等页面中不可见。搜索

发布于 2024-08-28 15:48:31 字数 2910 浏览 4 评论 0原文

我的 wordpress*(自定义模板)* 导航在所有页面上都正常工作,但现在我发现主导航不显示在此 页面

所有页面,例如 search.php、single.php、index.php、page.php 都有

我真的不知道出了什么问题。

这是我的 header.php 的代码

    <?php
/**
 * @package WordPress
 * @subpackage Default_Theme
 */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes() ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen,projection" />
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/sifr.css" type="text/css" />

<script src="<?php bloginfo('template_url'); ?>/js/sifr.js" type="text/javascript"></script>
<script src="<?php bloginfo('template_url'); ?>/js/sifr-config.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.1.2/jquery.tools.min.js"></script>

<?php wp_head(); ?>
</head>
<?php
 $current_page = $post->ID;
 $parent = 1;

 while($parent) {
  $page_query = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
  $parent = $current_page = $page_query->post_parent;
  if(!$parent) $parent_name = $page_query->post_name;
 }
?>
<body id="<?php echo (is_page()) ? "$parent_name" : ((is_home()) ? "blog" : ((is_search()) ? "other" : ((is_single()) ? "blog" : "blog"))); ?>">
<div id="BGtie">

<!--HEAD WRAPPER-->
<div id="headwrapper">

<!--HEADER-->
<div id="headContainer">

<div id="nameTag">
<a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a>
</div>

<!--TOP NAV-->
<div id="topNav">
<ul>
<li><a href="<?php bloginfo('url'); ?>home">Home</a></li>
<li><a href="#">Request info</a></li>
<li><a href="#">Contact us</a></li>
<?php do_action('icl_language_selector'); ?>
</ul>


</div>
<!--END TOP NAV-->

<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->

</div>
<!--END HEADER-->

</div>

<!--END HEAD WRAPPER-->
</div>

My wordpress*(a custom template)* nav is all working on all of the pages but now I found out that the Main nav doesn't show on this pages

All pages e.g. search.php, single.php, index.php, page.php all has <?php get_header(); ?>

I really don't know whats wrong.

Here is the code for my header.php

    <?php
/**
 * @package WordPress
 * @subpackage Default_Theme
 */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes() ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen,projection" />
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/sifr.css" type="text/css" />

<script src="<?php bloginfo('template_url'); ?>/js/sifr.js" type="text/javascript"></script>
<script src="<?php bloginfo('template_url'); ?>/js/sifr-config.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.1.2/jquery.tools.min.js"></script>

<?php wp_head(); ?>
</head>
<?php
 $current_page = $post->ID;
 $parent = 1;

 while($parent) {
  $page_query = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
  $parent = $current_page = $page_query->post_parent;
  if(!$parent) $parent_name = $page_query->post_name;
 }
?>
<body id="<?php echo (is_page()) ? "$parent_name" : ((is_home()) ? "blog" : ((is_search()) ? "other" : ((is_single()) ? "blog" : "blog"))); ?>">
<div id="BGtie">

<!--HEAD WRAPPER-->
<div id="headwrapper">

<!--HEADER-->
<div id="headContainer">

<div id="nameTag">
<a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a>
</div>

<!--TOP NAV-->
<div id="topNav">
<ul>
<li><a href="<?php bloginfo('url'); ?>home">Home</a></li>
<li><a href="#">Request info</a></li>
<li><a href="#">Contact us</a></li>
<?php do_action('icl_language_selector'); ?>
</ul>


</div>
<!--END TOP NAV-->

<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->

</div>
<!--END HEADER-->

</div>

<!--END HEAD WRAPPER-->
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷…雨湿花 2024-09-04 15:48:31
<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->

is_page() 在博客文章中返回 false。删除 is_page 就可以了。

进一步阅读 - http://codex.wordpress.org/Conditional_Tags

<!--MAIN NAV-->
<?php if ( is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'fr') ) {include("main-nav-fr.php");} ?>
<?php if (is_page() AND (strtolower(ICL_LANGUAGE_CODE) == 'en')) include("main-nav-en.php") ?>
<!--END MAIN NAV-->

is_page() returns false when in blog post. Remove the is_page and you should be fine.

Further reading - http://codex.wordpress.org/Conditional_Tags

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文