Как да махна менюто от конкретни странци на Wordpress сайт?

Дискусията в 'Web Development' стартирана от lowriderzzz, Авг 29, 2018.

  1. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Здрасти!

    От известно време се правя на уеб дизайнер (да това е точната дума "правя се", защото не мисля, ч съм) и се опитвам да махна менюто от определени landing страници на сайта ми. Като например ТАЗИ:

    Задавам команда в style.css файла

    .page-id-2102 #nav-topbar .nav-container {

    display: none !important;
    }


    ... но става.

    А това че му забранявам точно тези двете (#nav-topbar .nav-container) го проверих с inspect element функцията на хрома.

    Най-вероятно обаче нещо пропускам.

    Някой да ме насочи ако може и ако има идея кое ми утърва...

    Подрави!
     
  2. NEROMARE

    NEROMARE Well-Known Member

    Рег.:
    Юли 4, 2018
    Съобщения:
    549
    Харесвания:
    287
    Точки:
    63
    Пол:
    Мъж
    .full-width #nav-topbar.nav-container {
    display: none;
    }


    Пробвах го, гледам че се скри. Не схващам при теб какво става? Ти си на WordPress още повече. Там не се иска CSS, можеш да си махнеш менюто от самите настройки, ако темата позволява, а повечето позволяват. А ако не, сигурно и плъгини има такива.
     
  3. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    С директно въвеждане на команда чрез inspect element и при мен става. Но става като го едитна в style.css файла не го прилага. На WP съм да, но темата не позволява да се маха менюто от определени страници, а плъг-ини излшни не ми се слагат, за да не се товари сайта.

    Иначе ето как е в style.css файла -> СКРИЙН ШОТ

    Други атрибути като заглавие и т.н. които съм забранил по същия начин ги премахва, но за менюто някак не иска и не знам защо...
     
  4. NEROMARE

    NEROMARE Well-Known Member

    Рег.:
    Юли 4, 2018
    Съобщения:
    549
    Харесвания:
    287
    Точки:
    63
    Пол:
    Мъж
    Пробвай с !important таг, виж дали не си сгрешил id-то на страницата, и ако пак не стане, пробвай да оставиш само .page-id*** .nav-container.

    Така само можем да гадаем. Нещо си пропуснал.
     
  5. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    Правилният начин

    Дъщерна тема.

    копираш от оригиналната тема page.php в дъщерната като page_without_nav.php
    трябва да имаш нещо от сорта на това според темата
    сменяш get_header() с get_header('nonav');
    PHP:
    <?php
    /* Template Name: No navigation Page */

    /**
     * The template for displaying pages without menu.
    *
    */

    get_header('nonav'); ?>

        <?php while ( have_posts() ) : the_post(); ?>

            <?php get_template_part'content''page' ); ?>

            <?php
                
    // If comments are open or we have at least one comment, load up the comment template
                
    if ( comments_open() || '0' != get_comments_number() )
                    
    comments_template();
            
    ?>

        <?php endwhile; // end of the loop. ?>

    <?php get_footer(); ?>
    копираш от оригиналната тема header.php в дъщерната като header-nonav.php
    и в него изтриваш менюто

    Сменяш си темплейта на страниците и си свиркаш.

    PS за 11 години във форума да беше понаучил нещо
     
    NEROMARE харесва това.
  6. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna

    Това за конкретни страници ли ще го премахне или за всички наведнъж?

    ПС:
    Това най-ме изкефи. И преди 3 години като бях постнал нещо пак ме хокаше, че за 8 години нищо не съм бил научил. Да видим след 5-10-20 години дали ще е така още. :D :D
     
  7. NEROMARE

    NEROMARE Well-Known Member

    Рег.:
    Юли 4, 2018
    Съобщения:
    549
    Харесвания:
    287
    Точки:
    63
    Пол:
    Мъж
    А ти още не си пробвал, значи? Той за какво ти даде фикс, да го хокаш ли? При положение че ти дава фикс, просто млъкни и благодари.
     
  8. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Не го хокам. И не съм го пробвал, защото честно казано не разбирам php и ако объркам нещо по файла, после не знам как да го оправя.
    Казах не съм много по програмистката част.
     
  9. NEROMARE

    NEROMARE Well-Known Member

    Рег.:
    Юли 4, 2018
    Съобщения:
    549
    Харесвания:
    287
    Точки:
    63
    Пол:
    Мъж
    Нямаш ли бекъп? Добре е да се прави бекъп поне веднъж на седмица, или веднъж на 2 дни ако се публикува по много. Ако нямаш бекъп копие на сайта, за какво изобщо се занимаваш да поддържаш сайт. Това е все едно да си караш колата без ключалка; да я оставяш отключена вечер. Лудост. Лудост.
     
  10. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Прав си! Иначе имам бекъп - веднъж месечно, съм го настройл с cron jobs през С-panela да архивира и сейва всичко. Не е на толкова често колкото препоръчаваш, защото не поставам много съдържание (все още) толкова често, но по-скоро защото всяко съдържание (предимно статии) си и съхранявам на компа или на Google Drive освен на сайта. А най-трудоемкото е създаването на съдържание.

    Относно по темата и защо не изпробвам подхода на колегата, тук съм на принципа, като не разбирам не пипам, че да не стане по зле и честно да ти кажа ако започна да се ровя във файловете и оплескам нещо, после ще трябва да си губя времето да възстановявам файла или целия бек-ъп и ако нещо не направя както трябва още повече ще си скубя косите.

    Най-вероятно е много просто - сигурно просто трябва да пейстна файла и готово. Ще видя - тези дни може да го пробвам на някой съб домейн, че ако се оплеска нещо да не боли.

    Лека вечер и мерси за насоката!
     
  11. NEROMARE

    NEROMARE Well-Known Member

    Рег.:
    Юли 4, 2018
    Съобщения:
    549
    Харесвания:
    287
    Точки:
    63
    Пол:
    Мъж
    Записваш си на лист тефтер кои файлове редактираш. Ако оплескаш нещо - възстановяваш. За секунди е.
     
    lowriderzzz харесва това.
  12. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    Нали за това е дъщерната тема. Ако чак толкова се осереш просто включваш оригиналната.
     
    lowriderzzz и NEROMARE харесват това.
  13. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Добре! Пробвах със съвета, който даваш по-горе, но не мога да разбера последната част...

    Кое меню изтривам от файла и къде да го търся и после кой темплейт сменям.

    header.php файла ми представлява това:


    Код:
    <!DOCTYPE html>
    <html class="no-js" <?php language_attributes(); ?>>
    <head>
      <meta charset="<?php bloginfo('charset'); ?>">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link rel="profile" href="<?php echo esc_url( 'gmpg.org/xfn/11' ); ?>">
      <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
    
      <?php wp_head(); ?>
            
    </head>
    
    <body <?php body_class(); ?>>
    
    <div id="wrapper">
    
      <?php do_action('__before_header') ; ?>
    
      <?php hu_get_template_part('parts/header-main'); ?>
    
      <?php do_action('__after_header') ; ?>
    
      <div class="container" id="page">
        <div class="container-inner">
          <?php do_action('__before_main') ; ?>
          <div class="main">
            <div class="main-inner group">
              <?php do_action('__before_content') ; ?>
    Това е което е в header.php файла. Кое точно трябва да изтрия от тук? После кой темплейт трябва да сменя?

    Иначе копирах и преименувах файловете в дъщерната дема както каза и смених get_header() с get_header('nonav'); в page_without_nav.php файла
     
  14. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    В темата ти е надробено. Рови тук parts/header-main
     
  15. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Значи намерих го header-main.php

    Ето това представлява като код:

    Код:
    <?php
        //Model definition
        //MENUS
        $class_map = array(
            'main_menu'   => 'main-menu-mobile-on',
            'top_menu'    => 'top-menu-mobile-on',
            'mobile_menu' => 'specific-mobile-menu-on',
            'both_menus'  => 'both-menus-mobile-on'
        );
        $mobile_menu_opt = hu_get_option( 'header_mobile_menu_layout' );
        $mobile_menu_class = array_key_exists( $mobile_menu_opt, $class_map ) ? $class_map[ $mobile_menu_opt ] : 'main-menu-mobile-on';
    
        //HEADER IMAGE
        $_header_img_src = get_header_image();// hu_get_img_src_from_option('header-image');
        $_has_header_img = false != $_header_img_src && ! empty( $_header_img_src );
        $_print_header_img = $_has_header_img && hu_is_checked( 'use-header-image' );
    
        //WHEN DO WE DISPLAY THE REGULAR TOP NAV
        //=> when there's a topbar menu assigned or when the default page menu option "default-menu-header" is checked ( not for multisite @see issue on github )
        //@see hu_is_topbar_displayed() in init-functions.php
    
        //WHEN DO WE DISPLAY THE HEADER NAV ?
        // => when there's a header menu assigned or when the fallback callback function is set ( with a filter, used in prevdem scenario typically )
        //@see hu_is_header_nav_displayed() in init-functions.php
        //( ! wp_is_mobile() && hu_has_nav_menu( 'header' ) ) || in_array( $mobile_menu_opt, array( 'main_menu', 'both_menus' ) )
    
        //HEADER CSS CLASSES
        $header_classes = array(
            $mobile_menu_class,
            'both_menus' == $mobile_menu_opt ? 'two-mobile-menus' : 'one-mobile-menu',
            hu_get_option( 'header_mobile_menu_layout' ),
            hu_is_checked( 'header-ads-desktop' ) ? 'header-ads-desktop' : '',
            hu_is_checked( 'header-ads-mobile' ) ? 'header-ads-mobile' : '',
            hu_is_checked( 'transparent-fixed-topnav') ? 'topbar-transparent' : '',
            $_print_header_img ? 'has-header-img' : 'no-header-img'
        );
    
    ?>
    <header id="header" class="<?php echo apply_filters( 'hu_header_classes', implode(' ', $header_classes ) ); ?>">
      <?php if ( 'both_menus' != $mobile_menu_opt ) : //if both menus is the user option, we won't use the mobile navigation ?>
          <?php get_template_part('parts/header-nav-mobile'); ?>
      <?php endif; ?>
    
      <?php if ( hu_is_topbar_displayed() ) : ?>
          <?php get_template_part( 'parts/header-nav-topbar' ); ?>
      <?php endif; ?>
    
      <div class="container group">
        <?php do_action('__before_after_container_inner'); ?>
        <div class="container-inner">
    
          <?php if ( ! $_print_header_img ) : ?>
                  <div class="group pad central-header-zone">
                      <div class="logo-tagline-group">
                          <?php hu_print_logo_or_title();//gets the logo or the site title ?>
                          <?php if ( hu_is_checked('site-description') ) : ?>
                              <p class="site-description"><?php hu_render_blog_description() ?></p>
                          <?php endif; ?>
                      </div>
    
                      <?php if ( hu_is_checked('header-ads') ) : ?>
                          <div id="header-widgets">
                              <?php hu_print_widgets_in_location( 'header-ads' ); ?>
                          </div><!--/#header-ads-->
                      <?php endif; ?>
                  </div>
          <?php else :  ?>
              <div id="header-image-wrap">
                  <div class="group pad central-header-zone">
                      <?php if ( hu_is_checked( 'logo-title-on-header-image' ) ) : ?>
                          <div class="logo-tagline-group">
                              <?php hu_print_logo_or_title();//gets the logo or the site title ?>
                              <?php if ( hu_is_checked('site-description') ) : ?>
                                  <p class="site-description"><?php hu_render_blog_description() ?></p>
                              <?php endif; ?>
                          </div>
                      <?php endif; ?>
                      <?php if ( hu_is_checked('header-ads') ) : ?>
                          <div id="header-widgets">
                              <?php hu_print_widgets_in_location( 'header-ads' ); ?>
                          </div><!--/#header-ads-->
                      <?php endif; ?>
                  </div>
    
                  <?php hu_render_header_image( $_header_img_src ); ?>
              </div>
          <?php endif; ?>
    
          <?php if ( hu_is_header_nav_displayed() ) : ?>
              <?php get_template_part('parts/header-nav-main'); ?>
          <?php endif; ?>
    
        </div><!--/.container-inner-->
        <?php do_action('__header_after_container_inner'); ?>
      </div><!--/.container-->
    
    </header><!--/#header-->
    И от тука, кое точно трябва да изтрия?

    Първо обаче правилно ли съм разбрал - да копирам този файл (header-main.php) в дъщерната тема така ли? И да го преименувам на header-nonav.php, така ли?
     
  16. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    в hader-nonav
    PHP:
    <?php hu_get_template_part('parts/header-main); ?>
    става
    PHP:
    <?php hu_get_template_part('parts/header-main-nonav''nonav'); ?>
    в parts/header-main-nonav махаш тези редове
    PHP:
    <?php if ( hu_is_header_nav_displayed() ) : ?>
              <?php get_template_part('parts/header-nav-main'); ?>
    <?php 
    endif; ?>
    и палиш една свещ тяхната функция hu_get_template_part да работи като оригиналната get_template_part
     
  17. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Мисля, че ще се справя. Ще пробвам и ще докладвам какво е станало. Не ми е ясно обаче, къде да отбележа точно на кои страници не искам да се появява менюто. Не искам да го махам от целия сайт, ами само от определени странци.
     
  18. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    Влизаш да си редактираш страниците. Page Attributes -> Template избираш новия темплейт.
    PHP:
    <?php
    /* Template Name: No navigation Page */
     
  19. lowriderzzz

    lowriderzzz Well-Known Member

    Рег.:
    Септ 1, 2007
    Съобщения:
    1,114
    Харесвания:
    53
    Точки:
    48
    Място:
    Bulgaria, Varna
    Този код трябва да го изтрия в оригиналната тема, а не в дъщерната така ли?
     
  20. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,122
    Харесвания:
    471
    Точки:
    83
    Всичко се прави в дъщерната
     

Сподели страницата

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies.
    Dismiss Notice