E-web.vn
Attach-PDF-files-to-post-with-custom-metabox

Đính kèm file download PDF vào bài viết với Metabox

Rảnh là share code ngay nên hum nay mình sẽ hướng dẫn các bạn code chức năng ” Đính kèm file download PDF vào bài viết với Metabox ” cho website của mình thêm hoàn thiện hơn

Chức năng đó gồm 2 đoạn code sau:

Đoạn 1 (bỏ vào file function.php):

add_action("admin_init", "pdf_init");
add_action('save_post', 'save_pdf_link');
function pdf_init(){
add_meta_box("my-pdf", "PDF Document", "pdf_link", "post", "normal", "low");
}
// funciton tạo hộp metabox và get ra tất cả file PDF khi các bạn upload lên dưới dạng select option
function pdf_link(){
global $post;
$custom  = get_post_custom($post->ID);
$link    = $custom["link"][0];
$count   = 0;
echo '<div class="link_header">';
$query_pdf_args = array(
'post_type' => 'attachment',
'post_mime_type' =>'application/pdf',
'post_status' => 'inherit',
'posts_per_page' => -1,
);
$query_pdf = new WP_Query( $query_pdf_args );
$pdf = array();
echo '<select name="link">';
echo '<option class="pdf_select">SELECT pdf FILE</option>';
foreach ( $query_pdf->posts as $file) {
if($link == $pdf[]= $file->guid){
echo '<option value="'.$pdf[]= $file->guid.'" selected="true">'.$pdf[]= $file->guid.'</option>';
}else{
echo '<option value="'.$pdf[]= $file->guid.'">'.$pdf[]= $file->guid.'</option>';
}
$count++;
}
echo '</select><br /></div>';
echo '<p>Selecting a pdf file from the above list to attach to this post.</p>';
echo '<div class="pdf_count"><span>Files:</span> <b>'.$count.'</b></div>';
}
// function save dữ liệu
function save_pdf_link(){
global $post;
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ return $post->ID; }
update_post_meta($post->ID, "link", $_POST["link"]);
}
add_action( 'admin_head', 'pdf_css' );
// function làm đẹp cho hộp metabox
function pdf_css() {
echo '<style type="text/css">
.pdf_select{
font-weight:bold;
background:#e5e5e5;
}
.pdf_count{
font-size:9px;
color:#0066ff;
text-transform:uppercase;
background:#f3f3f3;
border-top:solid 1px #e5e5e5;
padding:6px 6px 6px 12px;
margin:0px -6px -8px -6px;
-moz-border-radius:0px 0px 6px 6px;
-webkit-border-radius:0px 0px 6px 6px;
border-radius:0px 0px 6px 6px;
}
.pdf_count span{color:#666;}
</style>';
}
// function get link file PDF
function pdf_file_url(){
global $wp_query;
$custom = get_post_custom($wp_query->post->ID);
echo $custom['link'][0];
}

Đoạn 2 (bỏ chỗ nào mà các bạn cần view ra):

<a href="<? pdf_file_url(); ?>">My PDF File</a>

Các bạn nào chưa làm được hoặc cần giải thích thêm đoạn nào thì đừng ngại comment bên dưới nhé. Thân ái

Exit mobile version