web-dev-qa-db-fra.com

L'énigme méta-clé "_encloseme"

En travaillant avec des métaboxes/champs personnalisés, j'ai semblé créer indirectement beaucoup de ces _encloseme meta_keys sur tout mon wp_postmeta.

Vu ici:

Jusqu'à présent, cela n'a posé aucun problème et les champs personnalisés fonctionnent bien, mais je ne me suis préoccupé que de deux publications environ sur mon site de test local et je ne veux pas l'implémenter sur mon site actif si cela risque de poser des problèmes plus tard. sur la route. Quelqu'un sait quoi faire à ce sujet, sont-ils normaux?

Voici le code pour mes métaboxes.

<?php

    //Add meta boxes to post types
    function plib_add_box() {
        global $meta_box;

        foreach($meta_box as $post_type => $value) {
            add_meta_box($value['id'], $value['title'], 'plib_format_box', $post_type, $value['context'], $value['priority']);
        }
    }
    //Formatting
    function plib_format_box() {
      global $meta_box, $post;

      // verification
      echo '<input type="hidden" name="plib_meta_box_nonce" value="', wp_create_nonce(basename(__FILE__)), '" />';

      echo '<table class="form-table">';

      foreach ($meta_box[$post->post_type]['fields'] as $field) {
          // get current post meta data
          $meta = get_post_meta($post->ID, $field['id'], true);

          echo '<tr>'.
                  '<th style="width:20%"><label for="'. $field['id'] .'">'. $field['name']. '</label></th>'.
                  '<td>';
          switch ($field['type']) {
              case 'text':
                  echo '<input type="text" name="'. $field['id']. '" id="'. $field['id'] .'" value="'. ($meta ? $meta : $field['default']) . '" size="30" style="width:97%" />'. '<br />'. $field['desc'];
                  break;
              case 'textarea':
                  echo '<textarea name="'. $field['id']. '" id="'. $field['id']. '" cols="60" rows="4" style="width:97%">'. ($meta ? $meta : $field['default']) . '</textarea>'. '<br />'. $field['desc'];
                  break;
              case 'select':
                  echo '<select name="'. $field['id'] . '" id="'. $field['id'] . '">';
                  foreach ($field['options'] as $option) {
                      echo '<option '. ( $meta == $option ? ' selected="selected"' : '' ) . '>'. $option . '</option>';
                  }
                  echo '</select>';
                  break;
              case 'radio':
                  foreach ($field['options'] as $option) {
                      echo '<input type="radio" name="' . $field['id'] . '" value="' . $option['value'] . '"' . ( $meta == $option['value'] ? ' checked="checked"' : '' ) . ' />' . $option['name'];
                  }
                  break;
              case 'checkbox':
                  echo '<input type="checkbox" name="' . $field['id'] . '" id="' . $field['id'] . '"' . ( $meta ? ' checked="checked"' : '' ) . ' />';
                  break;
          }
          echo     '<td>'.'</tr>';
      }

      echo '</table>';

    }
    // Save data from meta box
    function plib_save_data($post_id) {
        global $meta_box,  $post;

        //Verify
        if (!wp_verify_nonce($_POST['plib_meta_box_nonce'], basename(__FILE__))) {
            return $post_id;
        }

        //Check > autosave
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
            return $post_id;
        }

        //Check > permissions
        if ('page' == $_POST['post_type']) {
            if (!current_user_can('edit_page', $post_id)) {
                return $post_id;
            }
        } elseif (!current_user_can('edit_post', $post_id)) {
            return $post_id;
        }

        foreach ($meta_box[$post->post_type]['fields'] as $field) {
            $old = get_post_meta($post_id, $field['id'], true);
            $new = $_POST[$field['id']];

            if ($new && $new != $old) {
                update_post_meta($post_id, $field['id'], $new);
            } elseif ('' == $new && $old) {
                delete_post_meta($post_id, $field['id'], $old);
            }
        }
    }

    add_action('save_post', 'plib_save_data');

    //We create an array called $meta_box and set the array key to the relevant post type
// If custom post type, change the 'post' variable
    $meta_box['post'] = array(

        //This is the id applied to the meta box
        'id' => 'venue_location',  

        //This is the title that appears on the meta box container
        'title' => 'Venue/Location',    

        //This defines the part of the page where the edit screen section should be shown
        'context' => 'normal',    

        //This sets the priority within the context where the boxes should show
        'priority' => 'high',

        //Here we define all the fields we want in the meta box
        'fields' => array(
            array(
                'name' => 'Venue',
                'desc' => 'Venue Name',
                'id' => 'venue_info',
                'type' => 'text',
                'default' => ''
            ),
            array(
                'name' => 'Location',
                'desc' => 'Location of the Venue',
                'id' => 'location_info',
                'type' => 'text',
                'default' => ''
            )
        )
    );
    add_action('admin_menu', 'plib_add_box');
?>

(Juste en cas, voici un lien pastbin vers le code ci-dessus: http://Pastebin.com/0QsqxtZW )

7
mmaximalist

Version courte:

_encloseme est ajouté à un message lorsqu'il est publié. Le processus wp-cron devrait être planifié peu de temps après pour traiter le message afin de rechercher des enveloppes.

En d'autres termes, il les nettoie normalement plus tard. Rien à craindre.

Explication complète:

Les "boîtiers" sont des liens contenus dans un message qui pointe vers un fichier audio ou vidéo. WordPress les trouve en fonction du type MIME des fichiers liés, puis enregistre des métadonnées supplémentaires à leur sujet. Ces métadonnées sont utilisées dans les flux RSS pour créer des balises spéciales permettant de connecter ces fichiers à la publication.

Voici comment fonctionnent les podcasts. Si vous mettez un lien vers un fichier MP3 dans une publication, une pièce jointe sera créée pour ce lien. Le fil aura le fichier joint, et les lecteurs de podcast comme iTunes pourront ensuite l'utiliser pour télécharger le fichier MP3 directement à partir du flux RSS. alimentation.

_encloseme est juste des métadonnées spéciales indiquant que la publication n'a pas encore été traitée par le processus Enclosure. Lorsque vous créez ou mettez à jour une publication publiée, elle est ajoutée automatiquement afin que la publication soit traitée par le créateur de l'enceinte.

12
Otto