Ondersteuning » Code oplossingen gezocht » ik wil andere header gebruiken voor andere pagina maar de code werkt niet?

  • Opgelost johannes999

    (@johannes999)


    Hallo,
    Ik weet niet of deze code oplossing gedeelte is de juiste plaats voor mij vraag!
    ik wil andere header gebruiken voor mij thank you pagina.
    ik heb in google gevonden dat eerst ik moet eerst dublicatie maken van de header en andre naam geven. ik heb het gedaan als volgende:

    <?php
    /**
     * The header for our theme
     *
     * This is the template that displays all of the <head> section and everything up until <div id="content">
     *
     
     * @package auto-garage
     */
    
    /*
    * Template Name: thank you
    * Description: Template voor thank you pagina
    * Template Post Type: page
    */
    
    ?>
    <!doctype html>
    <html <?php language_attributes(); ?>>
    <head>
    	<meta charset="<?php bloginfo( 'charset' ); ?>">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<link rel="profile" href="https://gmpg.org/xfn/11">
    	<link href="https://unpkg.com/ionicons@4.5.10-0/dist/css/ionicons.min.css" rel="stylesheet">
    
    	<?php wp_head(); ?>
    </head>
    	
    	<header>
    	<div class="site-header1">        <!-- site-header --> 
    			<div class="container-info">                    
    	
    	</div>  </div>	
    
    <body <?php body_class(); ?>>
    <?php wp_body_open(); ?>
    <div id="page" class="site">
    	<a class="skip-link screen-reader-text" href="#primary"><?php esc_html_e( 'Skip to content', 'auto-garage' ); ?></a>
    
    

    ik heb de rest van code in header weggehaald voor duidelijkheid

    dan ik moest de page.php verwerken als volgende:

    <?php
    /**
     * The template for displaying all pages
     *
     * This is the template that displays all pages by default.
     * Please note that this is the WordPress construct of pages
     * and that other 'pages' on your WordPress site may use a
     * different template.
     *
    
      @package auto-garage
      */
     if(is_page(3193))    (opmerking:3193 is de id van thank you pagina)
     { 
     get_header('thank-you');
     } 
     else { get_header(); 
    	  }
    wp_head(); 
    
    ?>
    
     
    	<main id="primary" class="site-main">
    
    		<?php
    		while ( have_posts() ) :
    			the_post();
    
    			get_template_part( 'template-parts/content', 'page' );
    
    			// If comments are open or we have at least one comment, load up the comment template.
    			if ( comments_open() || get_comments_number() ) :
    				comments_template();
    			endif;
    
    		endwhile; // End of the loop.
    		?>  
    	</main><!-- #main -->
    
    <?php
    get_sidebar();
    get_footer();	
    

    ik heb ook in thank you pagina onder template sectie optie thank you pagina gekozen.
    maar nu als ik een menu openen het blijft alleen home pagina weergegeven.
    wat ik doe fout? hoe ik kan deze probleem oplossen?
    dank u wel

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Thread starter johannes999

    (@johannes999)

    sorry,
    ik ben de url vergat.
    https://webdesignleren.com

    • Deze reactie is gewijzigd 1 jaar, 6 maanden geleden door johannes999.
    • Deze reactie is gewijzigd 1 jaar, 6 maanden geleden door johannes999.
    Guido

    (@guido07111975)

    Hoi,

    Je moet een duplicaat (kopie) van bestand header(.php) maken, met de naam header-thank-you(.php) en daarin de wijzigingen doorvoeren. Dat bestand in de hoofdmap van je thema zetten.

    En dan in bestand page(.php) dit toevoegen:

    if( is_page(3193) ) {
    	get_header('thank-you');
    } else { 
    	get_header(); 
    }

    Guido

    Thread starter johannes999

    (@johannes999)

    dank u wel
    1-ik heb dublicate van header gemaakt en genoemd header-thank-you.php. het zie in hoofdmap. het wordt genoemd header-thank-you.php.
    moet ik hier header weg halen en alleen thank-you.php noemen?

    2-ik heb dublicate van header gemaakt en ik heb deze code toegevoegd:

    /*
    * Template Name: thank you
    * Description: Template voor thank you pagina
    * Template Post Type: page
    */

    moet ik deze code wegdoen en alleen dublicate van header gebruiken?

    ik heb ook site-header in dublicate header site-header1 genoemd.
    plus ik heb in page.php uwe code toegevoegd:

    <?php
    /**
     * The template for displaying all pages
     *
     * This is the template that displays all pages by default.
     * Please note that this is the WordPress construct of pages
     * and that other 'pages' on your WordPress site may use a
     * different template.
     *
     * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
     *
      @package auto-garage
      */
    if( is_page(3193) ) {
    	get_header('thank-you');
    } else { 
    	get_header(); 
    }
    
    ?>
    
     
    	<main id="primary" class="site-main">
    
    		<?php
    		while ( have_posts() ) :
    			the_post();
    
    			get_template_part( 'template-parts/content', 'page' );
    
    			// If comments are open or we have at least one comment, load up the comment template.
    			if ( comments_open() || get_comments_number() ) :
    				comments_template();
    			endif;
    
    		endwhile; // End of the loop.
    		?>
      
    	</main><!-- #main -->
    
    <?php
    get_sidebar();
    get_footer();
    

    maar het werkt niet waar is de fout nu is de fout?

    1-header-thank-you.php wijzigen naar thank-you.php?

    2- of deze code weghalen?

    /*
    * Template Name: thank you
    * Description: Template voor thank you pagina
    * Template Post Type: page
    */
    

    of header thank you noemen?

    bedankt

    Guido

    (@guido07111975)

    Optie 2, dit weghalen uit bestand header-thank-you(.php):

    /*
    * Template Name: thank you
    * Description: Template voor thank you pagina
    * Template Post Type: page
    */

    De rest laten staan en je eigen wijzigingen toevoegen.

    Guido

    Thread starter johannes999

    (@johannes999)

    bedankt,
    ik was even weg.
    ik heb het geprobeerd maar het probleem is hetzelfde.
    ik heb voor typo fouten bekijken maar ik zie nergens.
    eerst ik heb veranderd header-custom-page.php naar header-new.php.
    hier is de code van header-new.php
    ik zet nog een keer voor zekerheid mischien een typo fout:

    <?php
    /**
     * The header for our theme
     *
     * This is the template that displays all of the <head> section and everything up until <div id="content">
     *
     * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
     *
     * @package auto-garage
     */
    
    ?>
    <!doctype html>
    <html <?php language_attributes(); ?>>
    <head>
    	<meta charset="<?php bloginfo( 'charset' ); ?>">
    	<meta name="viewport" content="width=device-width, initial-scale=1">
    	<link rel="profile" href="https://gmpg.org/xfn/11">
    
    	<?php wp_head(); ?>
    </head>
    	
    	<header>
    	<div class="site-header1">        <!-- site-header --> 
    			<div class="container-info">
    				
    		
    		
    		<div class="site-header-text1">
    		hello
    		</div>
    		
    		<div class="site-header-text2">
    		hello hello hello hello
    		</div>
    		
    		<div class="site-header-text3">
    		hello hello
    		</div>
    		
    		
    		</div>
    		
    		
    		
    		
    			<div class="site-title ">		  
    	X Auto Service</div> 
         
             <div class="site-title-info">
    			 auto repair service
    		</div>
    
    	  <div class="header-menu">					
    			<ul>				
    				<li><a href="http://webdesignleren.com/" > Home </a> </li>
    				<li><a href="http://webdesignleren.com/onderhoud/" > Onderhoud </a> </li>
    				<li><a href="http://webdesignleren.com/banden/" > Banden </a> </li>
    				<li><a href="http://webdesignleren.com/apk/" > APK </a> </li>
    				<li><a href="http://webdesignleren.com/contact/" > Contact </a> </li>	
    						
    				
    		  </ul>  </div> 			
    		 
    		</div>  	
    	
    	
    <body <?php body_class(); ?>>
    <?php wp_body_open(); ?>
    <div id="page" class="site">
    	<a class="skip-link screen-reader-text" href="#primary"><?php esc_html_e( 'Skip to content', 'auto-garage' ); ?></a>
    
    

    hier is de code van page.php:

    
    <?php
    /**
     * The template for displaying all pages
     *
     * This is the template that displays all pages by default.
     * Please note that this is the WordPress construct of pages
     * and that other 'pages' on your WordPress site may use a
     * different template.
     *
     * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
     *
      @package auto-garage
      */
    
    if(is_page(3193))
    {
    get_header('new');
    }
    else
    {
    get_header();
    }
    wp_head();
    ?>
    
     
    	<main id="primary" class="site-main">
    
    		<?php
    		while ( have_posts() ) :
    			the_post();
    
    			get_template_part( 'template-parts/content', 'page' );
    
    			// If comments are open or we have at least one comment, load up the comment template.
    			if ( comments_open() || get_comments_number() ) :
    				comments_template();
    			endif;
    
    		endwhile; // End of the loop.
    		?>
      
    	</main><!-- #main -->
    
    <?php
    get_sidebar();
    get_footer();

    het erkent niet meer de pagina’s. het blijft alleen om home pagina.
    de code u hebt gegeven is juist ik had ook op deze site gezien: https://www.webascender.com/blog/how-to-create-multiple-headers-footers-in-wordpress/

    waar kan het probleem zijn? ik zie zelf geen typo fout?
    bedankt

    Guido

    (@guido07111975)

    Hoi,

    Je moet dit uit page.php verwijderen want die wordt al in header.php en header-new.php aangeroepen:

    wp_head();

    Deze functie zorgt ervoor dat allerlei scripts in de head sectie van je site worden geladen. Die roep je nu 2 keer op, dat gaat fout.

    Guido

    Als je als test de hele if-else deel weg haalt en enkel
    de get_header('new'); plaatst? Krijg je dan wel de nieuwe header te zien?
    100% zeker dat id 3193 ook echt een pagina is? als het geen pagina is maar bijvoorbeeld een bericht dan werkt is_page ook niet.

    Thread starter johannes999

    (@johannes999)

    dank u wel allebei,
    ik heb (dank u wel) pagina niet in menu gezet omdat deze pagina is alleen voor contact form submit.
    maar nu ik heb andere probleem gehad door deze codes.
    iedere keer ik probeer menu openen ik krijg alleen home pagina.
    ik heb 6 keer backup restore gemaakt maar de probleem is blijft hetzelfde.
    ik heb mij provider gebeld maar toch niet geholpen. hij wilde ticket maken ik heb gezegd laat maar. ik heb alle de code van page.php weggehaald om te zien of dat de probleem oplost,maar niet .
    ik wil ook niet proberen back up van 3september terug zetten omdat ik heb heleboel code geschrijven.
    heeft mischien iemand hoe komt dat. anders ik ga morgen nieuwe underscore_me theme downloaden en alles van deze theme naar de nieuwe theme plaatsen.
    dank u wel

    Guido

    (@guido07111975)

    Ik zie op je site dat je inmiddels opnieuw begonnen bent. Succes.

    Guido

    Thread starter johannes999

    (@johannes999)

    de website helemaal werkte niet nadat ik heb deze code toegevoegd in page.php

    if( is_page(3193) ) {
    	get_header('thank-you');
    } else { 
    	get_header(); 
    }

    ik heb 7-8 keer backup gedaan toch heeft niet geholpen.het blijfde gewoon op home page als ik andere pagina wilde openen.
    ik heb provider gebeld maar ze kunden ook niet het probleem oplossen . ze wilde ticket maken ik dacht laat maar.
    ik heb kopie van mij thema gedownload alles gecontroleerd en daarna hele database schoen gemaakt voor zekerheid.
    nu ik moet alleen alle code terug plaatsen in de nieuwe thema.
    het is 2 uur werk . nadat ik ben klaar ik ga de code boven proberen.
    dank u wel

    Thread starter johannes999

    (@johannes999)

    ik heb het probleem opgelost op deze wijze:
    `
    <?php
    if(is_page(‘bedankt’)) {
    get_header(‘new’);
    }
    else {
    get_header();
    }

    ?>
    dank u wel

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Het onderwerp ‘ik wil andere header gebruiken voor andere pagina maar de code werkt niet?’ is gesloten voor nieuwe reacties.