voceconnect / voce-post-pdfs
从帖子生成PDF
2.1
2022-01-11 17:45 UTC
Requires
- dompdf/dompdf: ^1.0
This package is auto-updated.
Last update: 2024-08-29 06:33:20 UTC
README
贡献者: johnciacia, kevinlangleyjr, brockangelo
标签: 打印, pdf
最低需求: 3.2
测试到: 3.8.3
稳定标签: 1.2.3
许可证: GPLv2 或更高版本
许可证URI: https://gnu.ac.cn/licenses/gpl-2.0.html
一个WordPress插件/模块,可以将帖子生成PDF。
描述
此插件使用PHP dompdf库从帖子内容生成PDF文件。只需链接到帖子 + '/pdf/',即可生成PDF。您可以通过过滤器自定义上传路径、使用的PDF模板和文件名格式。
安装
作为标准插件
见 安装插件。
作为主题或插件依赖项
将插件拖放到包含的主题或插件中后,添加以下内容
if( ! class_exists( 'Voce_Post_PDFS' ) ) { require_once( $path_to_vpp . '/voce-post-pdfs.php' ); }
用法
将下载PDF链接添加到 /pdf/
$pdf_link = esc_url( trailingslashit( get_permalink() ) . 'pdf/' );
使用过滤器自定义
修改PDF页眉中使用的logo
add_action( 'voce_post_pdfs_logo', function(){ do_action('newsroom_custom_header_logo'); });
使用自己的PDF模板,相对于主题目录
add_filter('voce_post_pdf_print_template', function($template){ return 'print.php'; });
修改查询参数
add_filter('voce_post_pdfs_save_query_args', function($args){ if( isset( $_GET['lang'] ) ) $args['lang'] = $_GET['lang']; return $args; });
修改默认文件名格式(默认为post-title.pdf)
add_filter('voce_post_pdfs_save_filename', function($filename) { $lang = ( isset( $_GET['lang'] ) ? '-' . sanitize_key( $_GET['lang'] ) : ''); $filename = basename($filename, '.pdf'); return $filename . $lang . '.pdf'; });
修改服务器上的上传位置
add_filter('voce_post_pdfs_upload_basepath', function($basepath, $post){ $uploads = wp_upload_dir(); $basepath = $uploads['basedir'] . '/' . date('Y', strtotime($post->post_date) ) . '/' . date('m', strtotime($post->post_date) ) . '/pdf/'; return $basepath; }, 10, 2);
修改PDF的URL
add_filter('voce_post_pdfs_upload_baseurl', function($baseurl, $post){ $uploads = wp_upload_dir(); $baseurl = $uploads['baseurl'] . '/' . date('Y', strtotime($post->post_date) ) . '/' . date('m', strtotime($post->post_date) ) . '/pdf/'; return $baseurl; }, 10, 2);
变更日志
1.2.3
- 出于性能原因减少对wp_uploads_dir的调用
1.2.1
重新组织save_post
中的路径声明和PDF存在检查以提高性能。
1.2
向save_pdf
添加一个参数,以便如果PDF已存在则不覆盖PDF。get_upload_basepath
和get_upload_baseurl
现在是公开的,因此其他插件可以检索PDF的位置。