voceconnect/voce-post-pdfs

从帖子生成PDF

安装: 577

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 13

分支: 3

开放问题: 1

类型:wordpress-plugin

2.1 2022-01-11 17:45 UTC

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_basepathget_upload_baseurl现在是公开的,因此其他插件可以检索PDF的位置。