Поддержка Проблемы и решения Изменение шаблона конкретной страницы

  • Решено 1596754as98

    (@adminstrelok)


    Возникла необходимость исключить с одной из статических страниц главное меню.
    (Естественно, при редактировании файла header.php, меню пропадает на всём сайте)

    Возможно ли это сделать применительно лишь к одной, конкретной, статической странице? Если да — то как?

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Модератор Yuri

    (@yube)

    if ( ! is_page(123) ) wp_nav_menu($args) ;

    И куда его? В хедер?

    Модератор Yuri

    (@yube)

    туда, откуда вызывается wp_nav_menu()

    Если бы это знать точно….

    Неужели так трудно объяснить чайнику более доступно и конкретно? Все время слышим от профи какие то полунамёки, полусказанное, недосказанное….. и т.д. Ребусы что ли отгадываем тут?
    (Не в обиду)

    Модератор Yuri

    (@yube)

    Konstantin, открою Вам страшную тайну: все Темы разные. Я понятия не имею, что у Вас, а даром телепатии, увы, не обладаю. Определение «полусказанное, недосказанное» относится, скорее, к вопросам. К ответам больше подходит слово «нодопонятое».

    По логике в functions.php

    По логике в functions.php

    Хотя нет, можно в headep.php поставить условие.
    В php не силён, мысли вслух

    Konstantin, открою Вам страшную тайну: все Темы разные.

    Надо было код headep.php выложить.

    Надо было код headep.php выложить.

    <?php
    /**
     * The Header
     *
     * Displays all of the <head> section and everything up till <div id="main">
     *
     * @package Cryout Creations
     * @subpackage mantra
     * @since mantra 0.5
     */
     ?><!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
    <meta charset="UTF-8" />
    <?php  	cryout_seo_hook(); ?>
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <?php
     	cryout_header_hook();
    	wp_head(); ?>
    <script type="text/javascript" src="http://svkament.ru/js/SVEmbed.js"></script>
    <script type="text/javascript">
    	SV.init({subdomain: 'we32kons'})
    </script>
    <meta name="msvalidate.01" content="6988AAAB9D2D6F3E234609D7A3D5A537" />
    </head>
    <body <?php body_class(); ?>>
    
    <?php cryout_body_hook(); ?>
    
    <div id="wrapper" class="hfeed">
    
    <?php cryout_wrapper_hook(); ?>
    
    <header id="header">
    
    		<div id="masthead">
    
    			<div id="branding" role="banner" >
    
    				<?php cryout_branding_hook();?>
    				<div style="clear:both;"></div>
    
    			</div><!-- #branding -->
    
    			<nav id="access" class="jssafe" role="navigation">
    
    				<?php cryout_access_hook();?>
    
    			</nav><!-- #access -->
    
    		</div><!-- #masthead -->
    
    	<div style="clear:both;"> </div>
    
    </header><!-- #header -->
    <div id="main">
    	<div  id="forbottom" >
    		<?php cryout_forbottom_hook(); ?>
    
    		<div style="clear:both;"> </div>
    
    		<?php cryout_breadcrumbs_hook();?>

    Теперь слово специалистам, код мудрёный, я пас 🙂
    Не так, как обычно, а хуком выводится.

    <nav id="access" class="jssafe" role="navigation">
    <?php cryout_access_hook();?>
    </nav>

    Konstantin, как вариант уберите через css, визуального отображения не будет.
    Попробуйте добавить в css
    #access {display: none;}

    Ещё вариант
    создать для этой страницы отдельный шаблон-копию page.php, в который вместо <?php get_header(); ?> вставьте код из файла header.php, из которого уберите блок с меню.

    создать для этой страницы отдельный шаблон-копию page.php, в который вместо <?php get_header(); ?> вставьте код из файла header.php, из которого уберите блок с меню.

    Вот с этого я и начал. Но «не прокатило». Такая страница-копия вообще не появляется в админке. где можно выбрать шаблон страницы.

    Впрочем может я чего не так сделал?

    Я так делал в теме twentytwelve, там папка есть page-templates, куда шаблоны целевых страниц складывать, возможно, там и в functions.php прописано тоже.
    Поищите информацию о создании целевых страниц в wp

    🙂 Может, Юрий сменит гнев на милость и укажет нам путь к светлому будущему.

    Модератор Yuri

    (@yube)

    Можно попробовать так:

    <nav id="access" class="jssafe" role="navigation">
    				<?php if (!is_page(123)) cryout_access_hook();?>
    			</nav><!-- #access -->

    Почему «попробовать»? Потому что:
    а) не факт, что эта функция выводит меню (не стандартная, в имени нет «menu» или «nav») и только меню;
    б) не факт, что на месте убранного меню не останется пустое место (зависит от css).

    Это один из вариантов. Можно прятать, например, так:

    body.page-id-123 #access { display: none; }

    или другими способами.

    Модератор Yuri

    (@yube)

    p.s. В любом случае рекомендуется создавать дочернюю Тему и вносить изменения уже там, дабы при обновлении Темы не потерять внесенные изменения.

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Изменение шаблона конкретной страницы» закрыта для новых ответов.