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

Đính kèm file download PDF vào bài viết với Metabox
5 (100%) 1 vote