Ondersteuning » Code oplossingen gezocht » custom field uitlezen

  • Ik heb bij mijn posts een custom veld gemaakt met de naam regLink en waarde een URL.
    Ik ben aan het testen op de volgende code:

    <?php
    function CustomTest()
    {
    		$RegLinkCheck=get_post_meta($post->ID, 'regLink', true);
    		echo $regLinkCheck ;
    }
    add_shortcode('customtest','CustomTest');
    ?>

    Hoewel ik zeker weet dat dit veld een waarde heeft krijg ik NIETS terug. Ik heb in een testpost de shortcode [customtest] gezet. Volgens mij zou die de URL moeten teruggeven.
    Of ik de URL nou tussen quotes zet of niet, het resultaat blijft hetzelfde. Ook andere waarden worden niet getoond.
    De echo vervangen met het return statement haalt ook niets uit.
    Ik heb het ook al geprobeerd met de derde parameter weg te laten, ook dat haalt niets uit. Wie weet wat ik verkeerd doe (behalve misschien dat ik het echte denkwerk eigenlijk aan anderen moet overlaten 😉 )

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)
  • Thread starter boudewijnL

    (@boudewijnl)

    Aanvullend, ik test nu eerst met een shortcode, het is uiteindelijk de bedoeling dat ik het resultaat in de more– tag gebruik om een customized return te maken naar een betaal pagina.

    Thread starter boudewijnL

    (@boudewijnl)

    2e aanvulling.
    Aan het begin van de functiedeclaratie heb ik nu ook
    global $post; gezet
    Nog steeds geen waarde zichtbaar, *zucht*

    Weer wat later
    <h3>Schiet mij maar lek!</h3>
    ik heb de code nog eens aangepast:

    function CustomTest()
    {
    	echo get_post_meta(get_the_ID(), 'regLink', true) ;
    }
    add_shortcode('customtest','CustomTest');

    Nu werkt het wel. Ongelooflijk…
    PHP, Waar staat dat eigenlijk voor?

    Je vergat de $atts, en je moet return gebruiken ipv echo. Probeer dit:

    function CustomTest( $atts )
    {
    		global $post;
    		$RegLinkCheck=get_post_meta($post->ID, 'regLink', true);
    		return $regLinkCheck ;
    }
    add_shortcode('customtest', 'CustomTest');
    Thread starter boudewijnL

    (@boudewijnl)

    hey Donutz,

    Zoals je ziet is de code nu wel werkend, zonder dat ik een parameter naar de functie stuur. Maar dan nu ook een vraag, waar gebruik je dan de $atts in de functie? Ik zie die nergens staan, ook de voorbeelden die ik bekeek hebben het daar helemaal niet over.

    Meer over de attributes hier: http://codex.wordpress.org/Shortcode_API. Het gebruik van return ipv echo is trouwens een absolute must:

    Note that the function called by the shortcode should never produce output of any kind. Shortcode functions should return the text that is to be used to replace the shortcode.

    Thread starter boudewijnL

    (@boudewijnl)

    dat van de return begrijp ik, ik was gewoon aan het testen om te zien of er verschil was tussen de ene en de andere. Dat is er dus 😉
    Nu nog uitzoeken hoe ik de tekst van de “more–” tag kan aanpassen. Want dat is het uiteindelijke doel.

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)
  • Het onderwerp ‘custom field uitlezen’ is gesloten voor nieuwe reacties.