Поддержка → Проблемы и решения → Изменение шаблона конкретной страницы
Изменение шаблона конкретной страницы
-
Возникла необходимость исключить с одной из статических страниц главное меню.
(Естественно, при редактировании файла header.php, меню пропадает на всём сайте)Возможно ли это сделать применительно лишь к одной, конкретной, статической странице? Если да — то как?
-
if ( ! is_page(123) ) wp_nav_menu($args) ;
И куда его? В хедер?
туда, откуда вызывается wp_nav_menu()
Если бы это знать точно….
Неужели так трудно объяснить чайнику более доступно и конкретно? Все время слышим от профи какие то полунамёки, полусказанное, недосказанное….. и т.д. Ребусы что ли отгадываем тут?
(Не в обиду)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🙂 Может, Юрий сменит гнев на милость и укажет нам путь к светлому будущему.
Можно попробовать так:
<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; }
или другими способами.
p.s. В любом случае рекомендуется создавать дочернюю Тему и вносить изменения уже там, дабы при обновлении Темы не потерять внесенные изменения.
- Тема «Изменение шаблона конкретной страницы» закрыта для новых ответов.