Создаем собственный метабокс WordPress. Закрепляем PDF файл за статьей.
Создаем собственный метабокс WordPress, закрепляем PDF файл за статьей. Очень удобно при разработке плагина использовать дополнительные поля «метабоксы«.
Для начала необходимо загрузить в WordPress PDF файл. После загрузки открываем файл 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");
}
function pdf_link(){
global $post;
$custom = get_post_custom($post->ID);
$link = $custom["link"][0];
$count = 0;
echo '';
$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 '
';
echo 'Selecting a pdf file from the above list to attach to this post.
';
echo 'Files: '.$count.'';
}
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 pdf_css() {
echo '';
}
function pdf_file_url(){
global $wp_query;
$custom = get_post_custom($wp_query->post->ID);
echo $custom['link'][0];
}Далее переходим в раздел создания новой статьи и прокручиваем в низ страницы. В появившемся метабоксе, в выпадающем списке, выбираем загруженный ранее файл.
Вывести адрес можно вот так:
pdf_file_url(); ?>
Пример использования загруженного файла:
My PDF File
Код проверял, все работает отлично. Удачи в разработке.
/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.




