Article source link for posts

Is there a way to add a source link at the end of an article like TechnoBuffalo (scroll down to end of post) with a plugin?

If someone could find a plugin or quickly make one for me that would be great.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Thats what meta_boxes are for. First you need to register the metabox within the page or post with the function add_meta_box. Then you want to get that value with get_post_meta on the page where you want the “Source”.

This goes into your functions.php file:

/* 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'] );

   }
}

This code register the meta_box and stores the value in post_meta as “_source_link”.

It will look like this:

enter image description here

Then you want to get the value in the post, Use get_post_meta:

<?php echo esc_url( get_post_meta( $post->ID, '_source_link', true ) ); ?>

You should read about:
add_meta_boxes,
update_post_meta and
get_post_meta

Method 2

You can use ACF,

  1. Create field to enter the link and then create a field to enter the link text
  2. Use the code Source: <a href="<?php echo get_field('url_field'); ?>" rel="nofollow noreferrer noopener"><?php echo get_field('link_text'); ?></a>


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x