{"id":4925,"date":"2017-12-19T06:05:49","date_gmt":"2017-12-19T06:05:49","guid":{"rendered":"https:\/\/musilda.cz\/?p=4925"},"modified":"2017-12-19T06:05:49","modified_gmt":"2017-12-19T06:05:49","slug":"vytvorit-odlisne-menu-ruzne-stranky","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/vytvorit-odlisne-menu-ruzne-stranky\/","title":{"rendered":"Jak vytvo\u0159it odli\u0161n\u00e9 menu pro r\u016fzn\u00e9 str\u00e1nky"},"content":{"rendered":"

O tom, jak vytvo\u0159it editovateln\u00e9 menu v \u0161ablon\u011b jsme si ji\u017e psali\u00a0 – Jak vytvo\u0159it v \u0161ablon\u011b editovateln\u00e9 menu<\/a>. Dnes si uk\u00e1\u017eeme, jak postupovat, pokud chcete m\u00edt odli\u0161nou navigaci, pro r\u016fzn\u00e9 str\u00e1nky.<\/p>\n

Tento postup nemus\u00edte pou\u017e\u00edvat jen pro horizont\u00e1ln\u00ed menu, ale v podstat\u011b pro cokoliv, co chcete v \u0161ablon\u011b zobrazovat jen na n\u011bkter\u00fdch m\u00edstech.<\/p>\n

Nejprve mus\u00edme naj\u00edt m\u00edsto, kde se v \u0161ablon\u011b menu zobrazuje. Pod\u00edv\u00e1me se do \u0161ablony underscores.me<\/a>, kde otev\u0159eme soubor header.php. Na \u0159\u00e1dku 62 najdeme um\u00edst\u011bn\u00ed horizont\u00e1ln\u00edho menu:<\/p>\n

\"\"<\/a><\/p>\n

Tento \u0159\u00e1dek nahrad\u00edme funkc\u00ed – custom_menu_position_9876();<\/strong><\/p>\n

A tuto funkci zap\u00ed\u0161eme do souboru functions.php aktivn\u00ed \u0161ablony, nebo do n\u011bjak\u00e9ho pluginu, jen\u017e si vytvo\u0159\u00edme. O tom Jak si vytvo\u0159it vlastn\u00ed plugin pro WordPress<\/a> jsem psal ji\u017e d\u0159\u00edve.<\/p>\n

function custom_menu postion_9876(){\n\n     wp_nav_menu( array<\/span>( '<\/span>theme_location'<\/span><\/span> =><\/span> '<\/span>primary'<\/span><\/span> ) );\n\n}<\/pre>\n

T\u00edm jsme si p\u0159ipravili funkci, d\u00edky n\u00ed\u017e m\u016f\u017eeme manipulovat se zobrazen\u00edm menu. Na prvn\u00ed pohled se nic nezm\u011bnilo.<\/p>\n

Vytvo\u0159en\u00ed um\u00edst\u011bn\u00ed pro dal\u0161\u00ed menu<\/h2>\n

Dal\u0161\u00edm krokem je vytvo\u0159en\u00ed dal\u0161\u00edch menu. To provedeme pomoc\u00ed tohoto k\u00f3du, jen\u017e p\u0159id\u00e1me k na\u0161\u00ed funkci:<\/p>\n

add_action( '<\/span>after_setup_theme'<\/span><\/span>, '<\/span>custom_setup_9876'<\/span><\/span> );<\/pre>\n
function\u00a0custom_setup_9876(){\n <\/span>\n\n\u00a0 \u00a0 register_nav_menus( <\/span>\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0array(\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'primary-second' => __( 'Landing page menu', 'underscoresme' ),<\/span>\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0'primary-third' => __( 'Emailing page menu', 'underscoresme' ),\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )<\/span>\n\n\u00a0 \u00a0 );\n }<\/span><\/pre>\n

T\u00edm se n\u00e1m v p\u0159i\u0159azen\u00ed menu v administraci, krom\u011b Primary menu, zobraz\u00ed dal\u0161\u00ed dv\u011b polo\u017eky. N\u00e1sledn\u011b vytvo\u0159\u00edte vlastn\u00ed menu a p\u0159i\u0159ad\u00edte jej do nov\u00fdch polo\u017eek.<\/p>\n

P\u0159\u00edklady jsou nejlep\u0161\u00ed a \u0159ekn\u011bme, \u017ee m\u00e1te n\u011bjakou landing page, kde nechcete m\u00edt stejn\u00e9 menu, jako na ostatn\u00edch podstr\u00e1nk\u00e1ch. Naklik\u00e1te si jin\u00e9 polo\u017eky menu a p\u0159i\u0159ad\u00edte do Landing page menu.<\/p>\n

Nyn\u00ed ji\u017e jen zb\u00fdv\u00e1, upravit na\u0161i prvn\u00ed funkci, aby to fungovalo. K tomu pou\u017eijeme WordPress podmi\u0148ovac\u00ed tagy<\/a>. Pomoc\u00ed nich m\u016f\u017eeme kontrolovat, kde se nach\u00e1z\u00edme. Zjist\u00edme, zda se jedn\u00e1 o str\u00e1nku s konkr\u00e9tn\u00edm id, pomoc\u00ed global $post. Pokud ano, zobraz\u00edme na\u0161e menu, pokud ne, zobraz\u00edme v\u00fdchoz\u00ed menu.<\/p>\n

function custom_menu postion_9876(){\n\u00a0 \u00a0 \u00a0 \u00a0 global $post;\n\n\u00a0 \u00a0 \u00a0 \u00a0 if( $post->ID == 123 ){\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0wp_nav_menu( array<\/span>( '<\/span>theme_location'<\/span><\/span> =><\/span> 'primary-second<\/span>'<\/span><\/span> ) );\n\n\u00a0 \u00a0 \u00a0 \u00a0 }else{\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0wp_nav_menu( array<\/span>( '<\/span>theme_location'<\/span><\/span> =><\/span> '<\/span>primary'<\/span><\/span> ) );\n\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\n}<\/pre>\n

V p\u0159\u00edpad\u011b, \u017ee budete pot\u0159ebovat rozli\u0161it, kde se nach\u00e1z\u00edte, na vy\u0161\u0161\u00ed \u00farovni, pou\u017eijte podmi\u0148ovac\u00ed tagy<\/a>.<\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

O tom, jak vytvo\u0159it editovateln\u00e9 menu v \u0161ablon\u011b jsme si ji\u017e psali\u00a0 – Jak vytvo\u0159it v \u0161ablon\u011b editovateln\u00e9 menu. Dnes si uk\u00e1\u017eeme, jak postupovat, pokud chcete m\u00edt odli\u0161nou navigaci, pro r\u016fzn\u00e9 str\u00e1nky. Tento postup nemus\u00edte pou\u017e\u00edvat jen pro horizont\u00e1ln\u00ed menu, ale v podstat\u011b pro cokoliv, co chcete v \u0161ablon\u011b zobrazovat jen na n\u011bkter\u00fdch m\u00edstech. Nejprve<\/p>\n","protected":false},"author":1,"featured_media":4927,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,30,34],"tags":[256,544],"class_list":["post-4925","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-snippety","category-wordpress","category-wordpress-tipy","tag-navigacni-menu","tag-wp_nav_menu"],"_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/4925"}],"collection":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/comments?post=4925"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/4925\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/4927"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=4925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=4925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=4925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}