Enquanto trabalhava com metaboxes / campos personalizados, parecia criar indiretamente muitos deles em _encloseme
meta_keys
todo o meu wp_postmeta
.
Visto aqui:
Até o momento, não surgiram problemas com isso e os campos personalizados funcionam bem, mas apenas mexi com duas ou mais postagens no meu site de teste local e não quero implementá-lo no meu site ao vivo se isso causar problemas mais tarde na estrada. Alguém sabe o que fazer sobre isso, eles são normais?
Aqui está o código para meus metaboxes.
<?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');
?>
(Apenas coloque, aqui está um link para o código acima: http://pastebin.com/0QsqxtZW )
custom-field
post-meta
mmaximalist
fonte
fonte
_encloseme
continua a surgir com informações do wordpress 2.0, que são muito antigas.Respostas:
Versão curta:
_encloseme é adicionado a uma postagem quando é publicada. O processo wp-cron deve ser agendado logo em seguida para processar a postagem e procurar por gabinetes.
Em outras palavras, limpa-os normalmente mais tarde. Nada para se preocupar.
Explicação completa:
"Gabinetes" são links em uma postagem para algo como um arquivo de áudio ou vídeo. O WordPress os encontra com base no tipo MIME dos arquivos que estão sendo vinculados e, em seguida, salva metadados extras sobre eles. Esses metadados são usados nos feeds RSS, para criar tags especiais para conectar esses arquivos à postagem.
É assim que os podcasts funcionam, por exemplo. Se você colocar um link para um MP3 em uma postagem, um gabinete será criado para esse link, e o feed terá o gabinete, e leitores de podcast como o iTunes poderão usá-lo para baixar o MP3 diretamente do RSS alimentação.
_encloseme são apenas metadados especiais, informando que a postagem ainda não foi processada pelo processo de inclusão. Quando você cria ou atualiza uma postagem publicada, ela é adicionada automaticamente para que a postagem seja processada pelo criador do gabinete.
fonte
1
à meta_encloseme
matriz de postagens em cada save_pst / update_post. Isso não verifica se já está definido e, portanto, adiciona o mesmo a cada atualização / salvamento? Obrigado!