gpt4 book ai didi

php - Wordpress - 通过 wp-admin 页面的当前过滤器将自定义帖子导出到 csv

转载 作者:搜寻专家 更新时间:2023-10-31 20:34:59 27 4
gpt4 key购买 nike

我正在寻找通过 wp-admin 页面的当前过滤器将自定义帖子导出为 CSV 的解决方案。

例子:如果我在我的自定义帖子的 wp-admin 页面中称为“leads”,如下所示:

mysite.com/wp-admin/edit.php?post_type=lead

现在我制作了一些过滤器,例如选择数据和特定术语形式分类法,并得到如下内容:

mysite.com/wp-admin/edit.phps&post_status=all&post_type=lead&action=-1&m=201607&companies=check-point&filter_action=Filter&paged=1&action2=-1

现在我正在寻找获取此结果并将其导出到 CSV 的方法 - 通过添加按钮/链接 - “导出到 csv”

有一些“导出到 csv”wp 插件,但它们都迫使您转到其他页面并再次制作过滤器,这对我们这个项目来说不是一个好的解决方案。

谢谢!

最佳答案

我的解决方案基于此处的代码:

https://github.com/mithusree/wp-simple-phpexcel-export/blob/master/wp-simple-phpexcel-export.php

在这个伟大的图书馆中的用途: http://phpexcel.codeplex.com

我的网址现在看起来像这样:

mysite.com/wp-admin/edit.php?post_status=all&post_type=lead&m=0&start_date=2016-07-04&end_date=2016-08-03&no_feat_img&companies=check-point&filter_action=Filter&paged=1

在表单的第 109 行,我剪切了代码并将其移动到 function.php,将此表单包装在函数上,仅在 wp-admin 引导存档页面中调用它,并将值从 url 推送到表单:

    add_action( 'admin_notices', 'export_btn' );
function export_btn() {
global $typenow;
if ($typenow == 'lead') {

global $_GET;
$start_date = $_GET[start_date];
$end_date = $_GET[end_date];
$company = $_GET[companies];

?>

<div class="wrap alignright">
<form method='get' action="admin.php?page=spee-dashboard">
<input type="hidden" name='page' value="spee-dashboard"/>
<input type="hidden" name='noheader' value="1"/>
<input type="hidden" name='start_date' value="<?php echo $start_date ?>"/>
<input type="hidden" name='end_date' value="<?php echo $end_date ?>"/>
<input type="hidden" name='company' value="<?php echo $company ?>"/>
<input style="display:none" type="radio" name='format' id="formatCSV" value="csv" checked="checked"/>
<input type="submit" name='export' id="csvExport" value="Export"/>
</form>
</div>

<?php
}
}

在第 45-50 行,我根据我的 url 编辑了 mysql 查询:

$start_date = $_GET['start_date'];
$end_date = $_GET['end_date'];
$company = $_GET['company'];

$query = "
SELECT * FROM wp_posts p
LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID
LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxonomy_id
LEFT OUTER JOIN wp_terms t ON t.term_id = x.term_id
WHERE p.post_type = 'lead'
AND p.post_status = 'publish'
AND p.post_date BETWEEN '$start_date' AND '$end_date 23:59:59'
AND t.slug = '$company'
ORDER BY p.post_date DESC
";

关于php - Wordpress - 通过 wp-admin 页面的当前过滤器将自定义帖子导出到 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38182041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com