• Opgelost Gotenks

    (@gotenks)


    Hallo iedereen!

    Ik ben bezig met het opzetten van een nieuws website als hobby. Bij nieuws is het belangrijk dat je de originele bron van het artikel er bij vermeldt. Nu heb ik eens zitten zoeken naar plugins hiervoor, maar gene die dat eigenlijk doet hoe ik het wil. Ik wil het dus zo maken:

    – In het dashboard bij het maken van een nieuw artikel, wil ik dat gebruikers de naam van de bron en de link naar het originele artikel moeten ingeven. (zie dit voorbeeld: http://andyjanssens.be/source1.JPG)

    – Wanneer het artikel gepubliceerd is, moet deze vermelding onderaan het artikel komen te staan. (zie dit voorbeeld: http://andyjanssens.be/source2.JPG)

    Nu heb ik zelf iets geprobeerd te coderen, maar het lukt niet echt zoals ik het wil. Het deel dat ik eerst probeerde te coderen was om de link onderaan het artikel te plaatsen, maar deze wordt geplaatst als gewone tekst en is niet klikbaar…

    Dit heb ik in mijn functions.php geplaatst:

    /* Define the custom box */
    add_action( 'add_meta_boxes', 'wpse_source_link' );
    
    /* Do something with the data entered */
    add_action( 'save_post', 'wpse_source_link_save' );
    
    /* Adds a box to the main column on the Post and Page edit screens */
    function wpse_source_link() {
    
        add_meta_box(
            'source_link',
            __( 'Source-link', 'myplugin_textdomain' ),
            'wpse_source_meta_box',
            'post',
            'side'
        );
    }
    
    /* Prints the box content */
    function wpse_source_meta_box( $post ) {
    
      // Use nonce for verification
      wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_noncename' );
    
      // The actual fields for data entry
      echo '<input type="text" id="source-link"" name="source_link" value="'. get_post_meta( $post->ID, '_source_link', true ) .'" size="25" />';
    }
    
    /* When the post is saved, saves our custom data */
    function wpse_source_link_save( $post_id ) {
      // verify if this is an auto save routine.
      // If it is our form has not been submitted, so we dont want to do anything
      if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
          return;
    
      // verify this came from the our screen and with proper authorization,
      // because save_post can be triggered at other times
    
      if ( ! wp_verify_nonce( $_POST['myplugin_noncename'], plugin_basename( __FILE__ ) ) )
          return;
    
      // Check permissions
    
      if ( current_user_can( 'edit_post', $post_id ) ) {
    
          update_post_meta( $post_id, '_source_link', $_POST['source_link'] );
    
       }
    }

    Vervolgens gebruik ik de volgende regel code om de functie op te roepen:
    <?php echo esc_url( get_post_meta( $post->ID, '_source_link', true ) ); ?>

    Iemand die me kan helpen hoe ik mijn code moet aanpassen om te krijgen hoe ik het precies wil als in het voorbeeld bovenaan?

    Alvast bedankt!!

4 reacties aan het bekijken - 1 tot 4 (van in totaal 4)
  • Thread starter Gotenks

    (@gotenks)

    Niemand? =(

    Hoi,

    Als ik het goed begrijp wil je dus 2 extra velden bij een bericht hebben. Zelf gebruik ik altijd de plugin Advanced Custom Fields http://www.advancedcustomfields.com/. Lekker flexibel als je iets wil aanpassen, zonder zelf veel te hoeven programmeren.

    Je kan hier een groep aanmaken met 2 extra velden die je aan je berichten kunt koppelen, de bron en de bron url. Stel dat je ze beide de ID’s source_name en source_url meegeeft dan kun je deze regel in je template bestand plaatsen:

    Bron: <a href="<?php the_field('source_url'); ?>"><?php the_field('source_name'); ?></a>

    Thread starter Gotenks

    (@gotenks)

    Perfect! Hoe eenvoudig kan het zijn! 😀
    Bedankt voor de hulp!

    Hoi Gotenks, ik lees dat je vraag is beantwoord. Ik sluit dit topic dus.

4 reacties aan het bekijken - 1 tot 4 (van in totaal 4)
  • Het onderwerp ‘Bronvermelding onderaan artikels’ is gesloten voor nieuwe reacties.