it-swarm.com.de

Das "_encloseme" Meta-Key-Rätsel

Während ich mit Metaboxen/benutzerdefinierten Feldern arbeite, habe ich scheinbar viele dieser _encloseme-Metaschlüssel indirekt in meinem wp_postmeta erstellt.

Hier gesehen:

Bisher sind hieraus keine Probleme entstanden und die benutzerdefinierten Felder funktionieren einwandfrei, aber ich habe nur mit ungefähr zwei Posts auf meiner lokalen Testsite herumgespielt und möchte sie nicht auf meiner Live-Site implementieren, wenn später Probleme auftreten auf die Straße runter. Weiß jemand, was zu tun ist, sind sie normal?

Hier ist der Code für meine Metaboxen.

<?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');
?>

(Nur für den Fall, hier ist ein Pastbin-Link zum obigen Code: http://Pastebin.com/0QsqxtZW )

7
mmaximalist

Kurzfassung:

_encloseme wird einem Beitrag hinzugefügt, wenn er veröffentlicht wird. Der wp-cron-Prozess sollte kurz danach geplant werden, um den Post zu verarbeiten und nach Anlagen zu suchen.

Mit anderen Worten, sie werden später normal aufgeräumt. Nichts, über das man sich sorgen sollte.

Vollständige Erklärung:

"Beilagen" sind Links in einem Beitrag zu einer Audio- oder Videodatei. WordPress findet diese anhand des MIME-Typs der verknüpften Dateien und speichert dann zusätzliche Metadaten. Diese Metadaten werden in den RSS-Feeds verwendet, um spezielle Tags zu erstellen, mit denen diese Dateien mit dem Beitrag verbunden werden.

So funktionieren zum Beispiel Podcasts. Wenn Sie in einem Beitrag einen Link zu einer MP3-Datei einfügen, wird für diese Verknüpfung ein Anhang erstellt, und der Feed enthält den Anhang. Podcast-Reader wie iTunes können diesen dann verwenden, um die MP3-Datei direkt von RSS herunterzuladen Futter.

_encloseme ist nur eine spezielle Metadatenangabe, die besagt, dass der Beitrag noch nicht vom Enclosure-Prozess verarbeitet wurde. Wenn Sie einen veröffentlichten Post erstellen oder aktualisieren, wird dieser automatisch hinzugefügt, sodass der Post vom Ersteller des Enclosures verarbeitet wird.

12
Otto