web-dev-qa-db-fra.com

Lien vers l'article source pour les messages

Existe-t-il un moyen d’ajouter un lien source à la fin d’un article tel que TechnoBuffalo (défiler jusqu’à la fin du post) avec un plugin?

Si quelqu'un pouvait trouver un plugin ou en faire rapidement un pour moi, ce serait génial.

2
Richard Waterworth

C'est à quoi servent les meta_boxes. Vous devez d’abord enregistrer la metabox dans la page ou publier avec la fonction add_meta_box . Ensuite, vous voulez obtenir cette valeur avec get_post_meta sur la page où vous voulez la "source".

Cela va dans votre fichier functions.php:

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

   }
}

Ce code enregistre la meta_box et stocke la valeur dans post_meta sous la forme "_source_link".

Il ressemblera à ceci:

enter image description here

Ensuite, vous voulez obtenir la valeur dans le post, utilisez get_post_meta:

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

Vous devriez lire sur: add_meta_boxes , update_post_meta et get_post_meta

2
Pontus Abrahamsson

Vous pouvez utiliser ACF ,

  1. Créer un champ pour entrer le lien, puis créer un champ pour entrer le texte du lien
  2. Utilisez le code Source: <a href="<?php echo get_field('url_field'); ?>"><?php echo get_field('link_text'); ?></a>
0
AGH