Ondersteuning » Code oplossingen gezocht » Custom Post Type code hulp

  • Beste allemaal,

    Momenteel ben ik bezig met het onder de knie krijgen van WordPress Custom Post Types.

    Ik heb via een ebook een tutorial gevolgd van Rockable, maar begrijp nog sommige dingen niet goed. Na aanleiding van gebruiker wpprogrammeurs.nl, heb ik hiervoor een nieuwe thread voor aangemaakt.

    Ik zal steeds een stukje code plaatsen, zodat het voor zowel mij als u als lezer makkelijker is uit te leggen.

    In de code heb ik de vragen staan, waar een // teken voor staat. Hopelijk is het duidelijk, anders moet ik daar nog even wat aan doen.

    <?php
    // Algemene vraag: Wat is een hook precies? Dit is als ik het goed mag begrijpen een snippet code, die een andere code bevat, die uitgebreid is en dat Hook dus een term is als een tag om een ander uitgebreid script aan te roepen?
    
    // Wat houd nou precies de function "add_action" in en wat doet "init" precies. Is Init de afkorting tevens van "initialization"?.
    add_action('init', 'business_manager_register');  
    
    function business_manager_register() {  
    
        //Arguments to create post type.
        $args = array(
            'label' => __('Business Manager'),  // Waneer gebruik je ('') en wat betekenen de underscores?
            'singular_label' => __('Business'),
            'public' => true,
            'show_ui' => true,
            'capability_type' => 'post',
            'hierarchical' => true,   // Wat wordt er nou precies met "hierarchical" bedoeld?
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail'),
            'rewrite' => array('slug' => 'businesses', 'with_front' => false),
           );  
    
      	//Register type and custom taxonomy for type.
        register_post_type( 'businesses' , $args ); // Hier voeg je toch, de nieuwe custom post type samen met de variable $args?
    // Maakt het wat uit wat je als eerste parameter neerzet? (De eerste parameter is toch alleen voor de naam van de custom post type?
    
        register_taxonomy("business-type", array("businesses"), array("hierarchical" => true, "label" => "Business Types", "singular_label" => "Business Type", "rewrite" => true, "slug" => 'business-type'));
    }

    Alvast hartelijk dank.

    Met vriendelijke groet,

    Casper B

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)
  • wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    Teveel vragen in 1 thread, dat kan niemand straks bijhouden. Ik zal me beperken tot de 1e vraag.

    // Algemene vraag: Wat is een hook precies?

    Een hook is misschien het makkelijkst te begrijpen als een plekje in een programma structuur waar je met een ander stukje programma in kunt haken.

    bijv.

    -start WP
    – INIT (hook)
    – header

    stel je maakt nu een functie die inhaakt in op de hook ‘INIT’ met een opdracht “wacht 10 seconden” , dan ziet je programma structuur er ineens zo uit :

    -start WP
    – INIT (hook)
    – wacht 10 seconden
    – header

    zo kun je met HOOKS en FILTERS het hele verloop van het WP ‘progamma’ sturen of beïnvloeden zonder het WP programma (De ‘CORE’ ) zelf te hoeven wijzigen.

    Het wijzigen van de CORE is altijd onverstandig omdat de CORE bij elke WP update overschreven kan worden. De enige ‘veilige’ directory is WP-CONTENT (waar je thema’s en plugins dus leven met HOOKS en FILTERS).

    wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    // Wat houd nou precies de function “add_action” in en wat doet “init” precies. Is Init de afkorting tevens van “initialization”?.
    add_action(‘init’, ‘business_manager_register’);

    zoals de naam als zegt : “je voegt een actie toe aan de HOOK genaamd ‘INIT’, en wilt dat die actie dus uitgevoerd wordt op het moment dat INIT voorbij komt in de programmastructuur.

    De INIT haak word vaak gebruikt door plugins om ‘iets vrij vroeg in het WP executie traject’ te doen. Een misverstand is dat INIT de start is van het WP script traject. Er zijn meerdere hooks voor INIT die aangeroepen kunnen worden.

    De volgorde van Hooks is niet altijd hetzelfde want ik kan bijv. met een “add_action” een script in gang zetten dat de normale flow van het programma wijzigt.
    Er is echter wel een algemene volgorde als er geen vreemde zaken gevraagd worden. Zie volgorde en hooks hier : http://codex.wordpress.org/Plugin_API/Action_Reference

    wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    // Waneer gebruik je (”) en wat betekenen de underscores?

    dit zijn regels voor internationalization oftewel vertaling van een script. http://codex.wordpress.org/I18n_for_WordPress_Developers

    wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    // Wat wordt er nou precies met “hierarchical” bedoeld?

    hiarchisch zoals in het leger met rangen en standen. of zoals in familie, met ouders, en kinderen.
    (Een categorie kan een dochter/zoon zijn van een andere category)

    huis en tuin
    |_ tuin
    |_ huis
    |_zolder
    garage

    wpprogrammeurs.nl

    (@wordpressprogrammeursnl)

    register_post_type( ‘businesses’ , $args ); // Hier voeg je toch, de nieuwe custom post type samen met de variable $args?
    // Maakt het wat uit wat je als eerste parameter neerzet? (De eerste parameter is toch alleen voor de naam van de custom post type?

    IPV $args zou je ook gewoon een lange regel kunnen schrijven. Dit is puur voor het overzicht te behouden.

    parameter volgorde is niet belangrijk (binnen dezelfde ARRAY)

    de parameter ‘label’ beschrijft het post TYPE
    overigens niet te verwarren met parameter ‘labels’

    Thread starter Casper B

    (@casper-b)

    WPprogrammeurs.nl,

    Allereerst weer hartelijk dank voor uw snelle reactie. Nee inderdaad, u hebt helemaal gelijk, nu is het ook weer lastiger om weer op een andere vraag in te haken (hier zal ik in het vervolg mee rekening houden, zodat het thread nog wel overzichtelijk blijft!

    Even terugkomend op mijn eerste vraag:

    // Algemene vraag: Wat is een hook precies?

    U gaf het volgende aan:

    Een hook is misschien het makkelijkst te begrijpen als een plekje in een programma structuur waar je met een ander stukje programma in kunt haken.

    Als ik het goed begrijp, mag ik het dan vergelijken met dat je bijv. bij FaceBook je Flickr account kunt linken aan je FB-profile, waardoor Flickr toegang krijgt in het “programma” FaceBook, om foto’s te kunnen posten op je FB pagina?

    Met uw voorbeeld gaf u het volgende aan:

    -start WP
    – INIT (hook)
    – header

    stel je maakt nu een functie die inhaakt in op de hook ‘INIT’ met een opdracht “wacht 10 seconden” , dan ziet je programma structuur er ineens zo uit :

    -start WP
    – INIT (hook)
    – wacht 10 seconden
    – header

    Klopt het dus dat de hook ‘INIT’ (of een andere hook) een opening (toegang) geeft om 10 seconden te mogen wachten voordat de rest wordt uitgevoerd?

    En dus de hook ‘INIT’ gebruik je dus om een toegang voor een bepaald iets te geven om te mogen worden uitgevoerd, zodat je, zoals u als laatst had aangegeven, niets hoeft aan te passen in de CORE?

    Fijne avond.

    Met vriendelijke groet,
    Casper B

6 reacties aan het bekijken - 1 tot 6 (van in totaal 6)
  • Het onderwerp ‘Custom Post Type code hulp’ is gesloten voor nieuwe reacties.