[
'name' => '360 PDF', 'singular_name' => 'PDF', 'menu_name' => '360 PDF',
'add_new' => 'Añadir PDF', 'add_new_item' => 'Añadir PDF', 'edit_item' => 'Editar PDF',
'new_item' => 'Nuevo PDF', 'view_item' => 'Ver PDF', 'search_items' => 'Buscar PDFs',
'not_found' => 'No hay PDFs.', 'all_items' => 'Todos los PDFs'
],
'public' => false,
'show_ui' => true,
'show_in_menu' => false,
'supports' => ['title'],
'capability_type' => 'post',
'map_meta_cap' => true,
'menu_icon' => 'dashicons-media-document',
]);
}
public function meta_box() {
add_meta_box('net360pdf_pdf_file', 'Archivo PDF', [$this, 'meta_box_html'], 'net360pdf_pdf', 'normal', 'high');
add_meta_box('net360pdf_pdf_settings', 'Configuración del visor', [$this, 'settings_html'], 'net360pdf_pdf', 'normal', 'default');
add_meta_box('net360pdf_pdf_shortcode', 'Shortcode', [$this, 'shortcode_html'], 'net360pdf_pdf', 'side', 'high');
}
public function meta_box_html($post) {
wp_nonce_field('net360pdf_pdf_save', 'net360pdf_pdf_nonce');
$attachment_id = (int) get_post_meta($post->ID, '_net360pdf_pdf_attachment_id', true);
$url = $attachment_id ? wp_get_attachment_url($attachment_id) : get_post_meta($post->ID, '_net360pdf_pdf_url', true);
?>
Selecciona un PDF de la Biblioteca Multimedia. 360 PDF puede mostrarlo como visor tradicional o como EBOOK / FLIPBOOK.
>
ID, '_net360pdf_pdf_height', true);
$height = $height !== '' ? absint($height) : 800;
$download = get_post_meta($post->ID, '_net360pdf_pdf_download', true);
$download = $download === '' ? '1' : $download;
$fit = get_post_meta($post->ID, '_net360pdf_pdf_fit', true);
$fit = $fit ?: 'width';
$mode = get_post_meta($post->ID, '_net360pdf_pdf_mode', true);
$mode = in_array($mode, ['viewer', 'ebook'], true) ? $mode : 'viewer';
$cover = get_post_meta($post->ID, '_net360pdf_pdf_cover', true);
$cover = $cover === '' ? '1' : $cover;
$double = get_post_meta($post->ID, '_net360pdf_pdf_double', true);
$double = $double === '' ? '1' : $double;
$background = get_post_meta($post->ID, '_net360pdf_pdf_background', true);
$background = $background !== '' && preg_match('/^#[0-9A-Fa-f]{6}$/', $background) ? $background : '#000000';
?>
En móvil el modo EBOOK cambia automáticamente a una página por vista y admite gestos táctiles.
ID) return;
$shortcode = '[360_pdf id="' . (int) $post->ID . '"]';
?>
Copia este shortcode donde quieras mostrar el documento:
post_type !== 'net360pdf_pdf' || !current_user_can('edit_post', $post_id)) return;
$attachment_id = isset($_POST['net360pdf_pdf_attachment_id']) ? absint($_POST['net360pdf_pdf_attachment_id']) : 0;
$url = isset($_POST['net360pdf_pdf_url']) ? esc_url_raw(wp_unslash($_POST['net360pdf_pdf_url'])) : '';
if ($attachment_id) {
$mime = get_post_mime_type($attachment_id);
if ($mime === 'application/pdf') $url = (string) wp_get_attachment_url($attachment_id);
else $attachment_id = 0;
}
update_post_meta($post_id, '_net360pdf_pdf_attachment_id', $attachment_id);
update_post_meta($post_id, '_net360pdf_pdf_url', $url);
$height = isset($_POST['net360pdf_pdf_height']) ? absint($_POST['net360pdf_pdf_height']) : 800;
$height = max(300, min(2000, $height));
$fit_input = isset($_POST['net360pdf_pdf_fit']) ? sanitize_key(wp_unslash($_POST['net360pdf_pdf_fit'])) : '';
$fit = in_array($fit_input, ['width', 'page', '100'], true) ? $fit_input : 'width';
$mode_input = isset($_POST['net360pdf_pdf_mode']) ? sanitize_key(wp_unslash($_POST['net360pdf_pdf_mode'])) : '';
$mode = in_array($mode_input, ['viewer', 'ebook'], true) ? $mode_input : 'viewer';
$download = !empty($_POST['net360pdf_pdf_download']) ? '1' : '0';
$cover = !empty($_POST['net360pdf_pdf_cover']) ? '1' : '0';
$double = !empty($_POST['net360pdf_pdf_double']) ? '1' : '0';
$background = isset($_POST['net360pdf_pdf_background']) ? sanitize_hex_color(wp_unslash($_POST['net360pdf_pdf_background'])) : '#000000';
$background = $background ?: '#000000';
update_post_meta($post_id, '_net360pdf_pdf_height', $height);
update_post_meta($post_id, '_net360pdf_pdf_fit', $fit);
update_post_meta($post_id, '_net360pdf_pdf_mode', $mode);
update_post_meta($post_id, '_net360pdf_pdf_download', $download);
update_post_meta($post_id, '_net360pdf_pdf_cover', $cover);
update_post_meta($post_id, '_net360pdf_pdf_double', $double);
update_post_meta($post_id, '_net360pdf_pdf_background', $background);
}
public function columns($columns) {
return [
'cb' => $columns['cb'], 'title' => 'PDF', 'net360pdf_pdf_file' => 'Archivo',
'net360pdf_pdf_mode' => 'Modo', 'net360pdf_pdf_shortcode' => 'Shortcode', 'date' => 'Fecha'
];
}
public function column($column, $post_id) {
if ($column === 'net360pdf_pdf_file') {
$url = get_post_meta($post_id, '_net360pdf_pdf_url', true);
echo $url ? 'Abrir PDF' : 'Sin archivo';
}
if ($column === 'net360pdf_pdf_mode') {
$mode = get_post_meta($post_id, '_net360pdf_pdf_mode', true);
echo $mode === 'ebook' ? 'EBOOK' : 'VISOR';
}
if ($column === 'net360pdf_pdf_shortcode') {
$shortcode = '[360_pdf id="'.(int)$post_id.'"]';
echo ''.esc_html($shortcode).' ';
}
}
}