web-dev-qa-db-fra.com

Insérer l'ID de pièce jointe dans le champ personnalisé de l'éditeur de média

C'est ce que je veux faire:

  1. Dans le chargeur de média, ajoutez un lien "Utiliser cet ID de pièce jointe en tant que champ personnalisé".
  2. Ajoutez l'ID de pièce jointe dans une zone méta de champs personnalisés.

J'ai cherché pendant des heures un plugin qui fait ça mais je n'ai rien trouvé. Exemples de code, plugins, astuces. Tout peut être utile.

1
Jens Törnell
2
Jens Törnell

Lorsque vous téléchargez des pièces jointes dans un article/une page, ils deviennent des éléments enfants de cet article/cette page.

Ce que vous pouvez faire est de fournir une liste déroulante dans votre champ personnalisé pour répertorier tous les fichiers téléchargés vers le programme de téléchargement pour la publication/page en cours. C'est le code que j'ai utilisé pour afficher une liste de fichiers afin que l'utilisateur puisse sélectionner laquelle était une image de plan d'étage:

      <select name="chb_homes_for_sale_specifics_floor_plan" style="width:100%;">
        <option value="" <?php selected($custom["chb_homes_for_sale_specifics_floor_plan"][0], ""); ?>>No Floor Plan</option>
        <?php
        $args = array(
            'numberposts'     => -1,
            'orderby'         => 'menu_order',
            'order'           => 'ASC',
            'post_type'       => 'attachment',
            'post_parent'     => $post->ID,
            'post_mime_type' => 'image'
        );
        $image = get_posts($args);
        if($image) {
            foreach($image as $key => $data) : ?>

                <option value="<?php echo $data->ID; ?>" <?php selected($custom["chb_homes_for_sale_specifics_floor_plan"][0], $data->ID); ?>><?php echo basename ( get_attached_file( $data->ID ) ); ?></option>

            <?php endforeach;
        }
        ?>
      </select>
2
Brady