رفتن به مطلب

درج منو فقط در صفحات انتخابی


پست های پیشنهاد شده

سلام دوستان

من میخوام یه سایت طراحی کنم که در بعضی صفحاتش منوی بالا وجود داشته باشه و در بعضی قسمتها وجود نداشته باشه.

توضیح اینکه منو در داخل فایل هدر قرار داره. حالا به نظرتون بهترین راه برای این کار چیه؟

راهی که به نظر خودم رسیده اینه که اون دوتا صفحه ای رو که قراره بدون منو باشند به صورت HTML طراحی کنم و بقیه صفحات رو به صورت PHP وردپرسی باشند.

راه آسونتری کسی سراغ داره؟

لینک به ارسال

سلام

به نظر من شما کدهای این منو رو یک فایل php جدا در نظر بگیرید ، برای مثال menu.php و بعدش شما در هر صفحه ای که خواستید از منو استفاده کنید فایلش رو فراخوانی کنید با این کد :


<?php include (TEMPLATEPATH . '/menu.php'); ?>

لینک به ارسال

ممنون فریدجان راه خوبی پیشنهاد دادی ولی خب چونکه منو توی هدر هست یه ذره مشکله این کار. راهکاری هست که سه چهار نوع منو داشته باشم و برای هر صفحه یک نوع منو بذارم؟

(چونکه کارفرما میخواد که در صفحات مختلف منوهای مختلف داشته باشیم، فکر کنم اگر وردپرس شبکه ایجاد کنم و برای هر وبلاگ یک منوی جدا داشته باشیم مشکل رو بشه حل کرد. درسته؟)

لینک به ارسال

ساده ترین راه استفاده از css در قالب دو صفحه ایه که نمی خواهید منو داشته باشند


<style>
nav,.nav {
display:none;
}
</style>

ولی منو لود می شه و فقط دیده نمی شه راه بهتر اینه که از header.php یک کپی بگیرید و با حذف کدهای منو در پوشه قالب با نام مثلا header1.php ذخیره کنید و در قالب دو صفحه به جای


<?php get_header(); ?>

بنویسید


<?php include (TEMPLATEPATH . '/header1.php'); ?>

لینک به ارسال
  • 2 ماه بعد...

یه نکته دیگه:

من میخوام توی صفحات مختلف منو های مختلف رو نشون بدم.

برای این کار فکر میکنم که بایستی چندتا منو تعریف کنم و چندتا هدر بسازم. درسته؟

فقط نمیدونم کدوم کدها مربوط به منو هستند که باید در هدر دوم جایگزینشون کنم؟

کد هدر اینه:


<!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 profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php elegant_titles(); ?></title>
<?php elegant_description(); ?>
<?php elegant_keywords(); ?>
<?php elegant_canonical(); ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:light,regular,bold&subset=latin' rel='stylesheet' type='text/css'/>
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie6style.css" />
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/DD_belatedPNG_0.0.8a-min.js"></script>
<script type="text/javascript">DD_belatedPNG.fix('img#logo, a.readmore, a.readmore span, #header, span.overlay, #search-form, ul.nav ul, ul.nav span.top-arrow, ul.nav ul li a:hover, #content-top, #content-bottom, span.post-overlay, span.avatar-overlay, .comment-arrow, .service-top, .service-description-bottom, .service-description');</script>
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie7style.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/ie8style.css" />
<![endif]-->
<script type="text/javascript">
document.documentElement.className = 'js';
</script>
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="background">
<div id="backgrounds">
<?php
if ( is_home() ) {
$et_bg_images = get_option('instyle_home_bg_images');
} elseif ( is_category() ) {
$et_bg_images = get_option('instyle_category_bg_images');
} elseif ( is_archive() ) {
$et_bg_images = get_option('instyle_archive_bg_images');
} elseif ( is_search() ) {
$et_bg_images = get_option('instyle_search_bg_images');
} elseif ( is_tag() ) {
$et_bg_images = get_option('instyle_tag_bg_images');
} elseif ( is_single() || is_page() ) {
$et_instyle_settings = maybe_unserialize( get_post_meta($post->ID,'et_instyle_settings',true) );
$et_bg_images = $et_instyle_settings['et_fs_bg_images'];
}

if ( $et_bg_images == '' )
$et_bg_images = get_option('instyle_default_bg_images') <> '' ? get_option('instyle_default_bg_images') : apply_filters('et_default_images',get_bloginfo('template_directory') . '/images/landscape.png');

$et_backgrounds = explode(",", $et_bg_images);
foreach ( $et_backgrounds as $et_background ){
echo '<img src="'.trim($et_background).'" alt=""/>';
}
?>
</div> <!-- end #backgrounds -->
<div id="header" class="clearfix">
<a href="http://amitisara.com"><?php $logo = (get_option('instyle_logo') <> '') ? get_option('instyle_logo') : get_bloginfo('template_directory').'/images/logo.png'; ?>
<img src="<?php echo $logo; ?>" href= 'http://medplant.ir' alt="<?php bloginfo('name'); ?>" id="logo"/>
</a>
<div id="header-right">
<?php $menuClass = 'nav';
$menuID = 'top-menu';
$primaryNav = '';
if (function_exists('wp_nav_menu')) {
$primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => $menuID, 'echo' => false ) );
};
if ($primaryNav == '') { ?>
<ul id="<?php echo $menuID; ?>" class="<?php echo $menuClass; ?>">
<?php if (get_option('instyle_home_link') == 'on') { ?>
<li <?php if (is_home()) echo('class="current_page_item"') ?>><a href="<?php bloginfo('url'); ?>"><?php _e('Home','InStyle') ?></a></li>
<?php } ?>

<?php show_page_menu($menuClass,false,false); ?>
<?php show_categories_menu($menuClass,false); ?>
</ul> <!-- end ul#nav -->
<?php } else echo($primaryNav); ?>

<div id="search-form">
<form method="get" id="searchform" action="<?php bloginfo('url'); ?>">
<input type="text" value="<?php _e('Search this site...','InStyle'); ?>" name="s" id="searchinput" />
<input type="image" src="<?php bloginfo('template_directory'); ?>/images/search_btn.png" id="searchsubmit" />
</form>
</div> <!-- end #search-form -->
</div> <!-- end #header-right -->
</div> <!-- end #header -->
<div style="position: absolute; left: -9999px;">
<a href="http://motoactvcoupon.blogspot.com/">motoactv coupon</a>
<a href="http://nestthermostatcoupon.blogspot.com/">Cheap Nest Thermostat</a>
<a href="http://fitbitcoupon.blogspot.com/">buy Fitbit</a>
<a href="http://bosesoundlinkcoupon.blogspot.com/">Bose Soundlink discount</a>
<a href="http://jawbonejamboxcoupon.blogspot.com/">Jawbone Jambox Coupon</a>
<a href="http://medialinkwirelessnroutercoupon.blogspot.com/">Medialink wireless N router</a>
<a href="http://roku2xscoupon2012.blogspot.com//">roku 2 xs best price</a>
<a href="http://roku2xdcoupon.blogspot.com/">Buy Bowflex Selecttech 552</a>
<a href="http://p90xpromocode.blogspot.com/">p90x coupon</a>
<a href="http://bowflexselecttech552coupon.blogspot.com/">bowflex selecttech 552 coupon code</a>
<a href="http://www.cleaningmicrofibercouch.net">cleaning microfiber</a>
<a href="www.cleaningleatherwiki.com/">leather</a>
</div>
<div id="container"<?php global $fullwidth; if ( is_page_template('page-full.php') || $fullwidth ) echo ' class="fullwidth"'; ?>>

لینک به ارسال

اگر تعداد صفحاتتون و منوها متعدد باشه می تونید از شرط هم استفاده کنید

می تونید یک منو شامل گزینه های همه منوها بسازید و برای آیتم ها بر اساس صفحه ای که در اون هستند شرط بگذارید

برای اینکه بشه براش کد نوشت نیاز به اطلاعات دقیق است

چه گزینه ای در چه صفحه ای حذف یا اضافه شود

مثال :


<ul>
<li> item1</li>
<?php if(in_category('10')) { ?>
<li> item2</li>
<?php }?>
<li>item3</li>
</ul>

در تمام صفحات آیتم یک و سه دیده می شوند و فقط ذر صفحاتی که آی دی دسته بندیشون 10 باشه آیتم 2

لینک به ارسال

اگر تعداد صفحاتتون و منوها متعدد باشه می تونید از شرط هم استفاده کنید

می تونید یک منو شامل گزینه های همه منوها بسازید و برای آیتم ها بر اساس صفحه ای که در اون هستند شرط بگذارید

برای اینکه بشه براش کد نوشت نیاز به اطلاعات دقیق است

چه گزینه ای در چه صفحه ای حذف یا اضافه شود

مثال :


<ul>
<li> item1</li>
<?php if(in_category('10')) { ?>
<li> item2</li>
<?php }?>
<li>item3</li>
</ul>

در تمام صفحات آیتم یک و سه دیده می شوند و فقط ذر صفحاتی که آی دی دسته بندیشون 10 باشه آیتم 2

ممنون ولی واقعا هیچی نفهمیدم :blink:

نمیشه مثلا در قسمت منوها چندتا منوی مختلف ایجاد کنیم، بعد در هر صفحه ای از یک هدر استفاده کنیم و در اون هدر از منوی مثلا شماره یک، شماره 2 یا شماره 3 استفاده کنیم؟ من منظورم این بود!

میخوام مثلا دو سه تا قالب اختصاصی برای صفحات مختلف ایجاد کنم که هدرش هدر شماره 1 یا هدر شماره 2 یا هدر شماره 3 باشه که هرکدام منوی جدایی دارند.

لینک به ارسال

چرا اینکار را هم می تونید بکنید

خب برای این کار میخوام ببینم باید چطوری عمل کنم؟

مثلا برای ساخت ابزارک میدونم که باید یک کد رو توی فانکشن و یک کد رو توی قالب بذارم. حالا سوال من اینه که برای ساخت منو باید چه کارهایی انجام بدم؟

لینک به ارسال
ارسال شده در (ویرایش شده)

متشکرم. دارم انجامش میدم وقتی تموم شد به دوستان آموزش میدم که چطوری انجامش بدن.

ویرایش شده توسط دکتر مهندس
لینک به ارسال

برای ساخت منو که از پیشخوان نمایش - فهرست ها اقدام کنید و برای ریجستری در روی قالب در فایل functions.php


add_theme_support('menus');
function register_my_menu() {
register_nav_menus(
array(
'header-menu' => __( 'Header Menu' ),
'page1-menu' => __( 'Page 1 Menu' ),
'page2-menu' => __( 'Page 2 Menu' ),
'page3-menu' => __( 'Page 3 Menu' ),
'page4-menu' => __( 'Page 4 Menu' ),
'page5-menu' => __( 'Page 5 Menu' )
)
);
}

و در محل های نمایش


wp_nav_menu(array('theme_location' => 'header-menu', 'menu_class' => 'menu',));
یا
wp_nav_menu(array('theme_location' => 'page1-menu', 'menu_class' => 'menu',));
یا
wp_nav_menu(array('theme_location' => 'page2-menu', 'menu_class' => 'menu',));
....

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...