wordpress代码片段
function content_to_word(){
global $wpdb;
date_default_timezone_set('Asia/Shanghai');
$last_post_id=_cao('last_post_id_setting')!==''?_cao('last_post_id_setting')-1:get_option('last_post_id');// update_option('last_post_id',1);// var_dump(get_option('last_post_id'));exit;
$min_id=!empty($_POST['history_id'])?$_POST['history_id']:$last_post_id;
$post_num=$_POST['num']?$_POST['num']:0;
$posts_data = $wpdb->get_results("SELECT ID,post_title FROM $wpdb->posts WHERE post_type= 'post' AND post_status = 'publish' AND ID > ".$min_id." order by ID asc ");
$message='';
$i=$_POST['i']?$_POST['i']:0;
if($i==$post_num){
$message=array('code'=>3,'message'=>'<div id="message" class="csf-notice csf-notice-success" style="margin-top:10px" ><p>本次生成任务已执行完,共生成'.$i.'篇文档</p></div>','history'=>$history_id);
update_option( 'last_post_id', $_POST['history_id'] );
echo json_encode($message);exit;
}
foreach ($posts_data as $k=>$v){
$history_id=$v->ID;
//$post_content=$wpdb->get_var("SELECT post_content FROM $wpdb->posts WHERE ID= '$v->ID' ");
$post_content = get_post( $v->ID )->post_content;
$post_content=str_replace('[rihide]','',$post_content);
$post_content=str_replace('[/rihide]','',$post_content);
require 'vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
$phpWord->setDefaultFontSize('16');//设置文档字体大小
// $myTextElement = $section->addText(strip_tags($post_content));
// $myTextElement->setFontStyle($fontStyle);
$year=date( "Y");
$basic_dir=ABSPATH."wp-content/document/";
if(!file_exists($basic_dir))
{
@mkdir($basic_dir,0755);
}
$upload_dir=$basic_dir.$year;
if(!file_exists($upload_dir))
{
@mkdir($upload_dir,0755);
}
$month=date( "m");
$Dir1=$upload_dir."/".$month."/";
if(!file_exists($Dir1))
{
@mkdir($Dir1,0755);
}
$fileName_1="/".$v->post_title."_".$v->ID."_".date('_YmdHis').".docx";
$fileName=$Dir1.$fileName_1;
\PhpOffice\PhpWord\Shared\Html::addHtml($section, $post_content, false, false);
// Save file
$phpWord->save($fileName);
// $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
// $res=$objWriter->save($fileName);
$i++;
if(!file_exists($fileName)){
$error.='文章生成失败,文章ID:'.$v->ID.'文章标题:'.$v->post_title.',';
$message=array('code'=>0,'title'=>$title,'message'=>'<div id="message" class="csf-notice csf-notice-error " style="margin-top:10px"><p>'.$error.'</p></div>');
echo json_encode($message);exit;
exit;
}else{
update_post_meta( $v->ID, 'cao_status', 1);
$down= array(0=>array('name'=>$v->post_title,'url'=>home_url().'/wp-content/document/'.$year.'/'.$month.$fileName_1));
update_post_meta( $v->ID, 'cao_downurl_new',$down);
$res_data.='文章:"'.$v->post_title.'"已生成文档,ID:'.$v->ID.'。';
$message=array('code'=>2,'title'=>$v->post_title,'message'=>'<div id="message" class="csf-notice csf-notice-success" style="margin-top:10px"><p>文章'.$res_data.'目前共生成'.$i.'篇文档</p ></div>','history'=>$history_id,'i'=>$i,'all'=>count($posts_data));
echo json_encode($message);exit;
}
}
if(!$message){
$message=array('code'=>1,'title'=>$title,'message'=>'<div id="message" class="csf-notice csf-notice-success" style="margin-top:10px" ><p>数据库中无需要生成文档的文章</p></div>','history'=>$history_id);
echo json_encode($message);exit;
}
echo json_encode($message);exit;}add_action('wp_ajax_content_to_word', 'content_to_word');版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。

微信扫一扫 



