Layout – Webdesign

0,00 / maand excl. BTW

Layout kiezen / webdesign aanpassen

Ander webdesign / layout? Dat kan hier heel gemakkelijk!

  1. Gratis: Kies één van de voor geprogrammeerde layouts.
  2. Gratis: Pas je gekozen webdesign naar wens aan.
  3. Kies hier een andere gratis layout: Gratis implementatie.
  4. Kies een andere gratis layout: Vergoeding voor implementatie.
  5. Kies een betaald thema: Vergoeding voor implementatie.
  6. Laat een layout voor je maken.

Andere Layout

Ander Webdesign

Eénmalige betaling

1. Om welk webdesign gaat het (naam)
2. Waar kunnen wij het vinden
3. Als het in een account staat, mogen wij dan inlog-gegevens opdat wij het kunnen uploaden

Het verwijderen van webdesigns bespaart webruimte. Als er een webdesign extra op je website / webshop wordt gezet, dan kost dat webruimte.

Prijs per maand

Categorie:

Beschrijving

Forums / Code oplossingen gezocht / Page ID ophalen in functions.php van child theme

  • Via een action hook heb ik het voor elkaar gekregen om javascript-code in de head sectie van de pagina’s te krijgen. Dit heb ik gedaan door in mijn childtheme een functions.php te plaatsen en daar de volgende regel toe te voegen:
    add_action('wp_head', 'form_ajax_js_code');

    de form_ajax_js_code is een functie in dezelfe functions.php.

    Nu wil ik de add_action alleen uitgevoerd zien bij bepaalde pagina’sm dus bepaalde Page/Post ID’s.

    Toen heb ik er deze code van gemaakt:

    if ($wp_query->post->ID == 687 ){ 	add_action('wp_head', 'form_ajax_js_code'); }

    Probleem is dat $wp_query->post->ID een lege waarde teruggeeft. Ook $post->ID werkt niet. Heeft iemand een idee? Dank!

10 reacties aan het bekijken - 1 tot 10 (van in totaal 10)
  • Heb je wel de $post geglobalt d.m.v.
    global $post; in je function?

    Thread starter SEOguruNL

    (@seogurunl)

    Dank Danny!

    Die globale variabele had ik inderdaad niet gedefinieerd, maar helaas blijkt dat niet de oplossing. De waarde van $post->ID is nog steeds leeg.

    Ik heb nu de volgende code:

    global $post; echo "PostID: $post->ID"; if ($post->ID == 687 ){ 	add_action('wp_head', 'form_ajax_js_code'); }

    Het resultaat van de echo is “PostID: “, dus zonder waarde. De functie add_action werkt wel prima. Nog meer suggesties? Dank!

    Misschien zit ik mis, maar is het niet:

    echo "PostID: " . $post->ID;

    wat geeft een <?php var_dump( $post ); ?>

    Thread starter SEOguruNL

    (@seogurunl)

    NULL

    Kan je eens je gehele code hier plaatsen?

    Thread starter SEOguruNL

    (@seogurunl)

    <?php global $post; echo "PostID: $post->ID"; if ($post->ID == 687 ){ 	add_action('wp_head', 'form_ajax_js_code'); } function form_ajax_js_code () {     $var = "Mijn javascriptcode\n";     echo $var; } ?>

    Dit zou m moeten zijn.

    <?php add_action( 'after_setup_theme', 'setup_theme' ); 	function setup_theme() { 		add_action( 'wp_head', 'form_ajax_js_code' ); 	} 	function form_ajax_js_code () { 		global $post; 		if( $post->ID == 687 ) { 			$var = "Mijn javascriptcode\n"; 			echo $var; 		} 	} ?>
    Thread starter SEOguruNL

    (@seogurunl)

    Die doet het inderdaad, dank je wel!

    Wat ik echter niet goed begrijp is waarom hij gekoppeld moet worden aan de after_setup_theme hook. Uit de action reference begrijp ik dat die alleen wordt gebruikt bij activering van de theme. En daar is nu toch geen sprake van?

    Ahh shit, ik had die snippet nog open staan haha. Een nog mooiere oplossing is de volgende:

    <?php 	class Mijn_Thema { 		//PHP Constructor 		function __construct() { 			add_action( 'wp_head', array( &$this, 'form_ajax_js_code' ) ); 		} 		function form_ajax_js_code () { 			global $post; 			if( $post->ID == 687 ) { 				$var = "Mijn javascriptcode\n"; 				echo $var; 			} 		} 	} 	$mijn_thema = new Mijn_Thema(); ?>
10 reacties aan het bekijken - 1 tot 10 (van in totaal 10)

Het onderwerp ‘Page ID ophalen in functions.php van child theme’ is gesloten voor nieuwe reacties.