2016-07-04 1 views
2

Я ищу решение для экспорта пользовательского сообщения в CSV с помощью текущего фильтра с страницы wp-admin.Wordpress - экспорт пользовательского сообщения в csv с помощью текущего фильтра с страницы wp-admin

Пример: , если я нахожусь в сор-странице администратора моего таможенного поста под названием «ведет», как это:

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

теперь я сделать некоторые фильтры, как выбрать данные и конкретные формы термина таксономии и получить что-то вроде этого:

mysite.com/wp-admin/edit.phps & post_status = все & post_type = приводят & действие = -1 & m = 201607 & companie s = пропускной пункт & filter_action = Фильтр & выгружаемых = 1 & action2 = -1

теперь я смотрю на способ взять эти результаты и экспортировать их в CSV - путем добавления кнопки/ссылок - «экспорт в CSV «

есть некоторые« плагины для экспорта в csv », но все они заставляют вас перейти на другую страницу и снова сделать фильтр, что это не очень хорошее решение для нас в этом проекте.

Спасибо!

ответ

3

Мое решение основано на этом коде здесь:

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

Что использовать в этой большой библиотеке: http://phpexcel.codeplex.com

Мой URL сейчас выглядит так:

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 & компании = пропускного пункта & filter_action = Фильтр & выгружаемого = 1

В строке 109 в форме я вырезать код и переместить его в function.php оберточной эту форму на функцию вызов его только в WP-администраторе ведет архив страницы и нажмите значение из 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 я редактировал запрос MySQL в соответствии с моей URL:

$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 
      "; 
+0

Как добавить массовый экспорт для настраиваемого типа сообщений? – huykon225

+0

в примере, пользовательский тип сообщения, называемый «ведущий», просто замените его на имя своего настраиваемого типа сообщения. первое место находится в URL-адресе, второе место находится в строке 4 первого блока кода, а третье место - в строке 10 второго примера кода кода –

+0

Я хочу создать экспорт массового действия для своей персонализированной почты. Пожалуйста, посмотрите изображение, прикрепленное http://imgur.com/HZQXr80 – huykon225

 Смежные вопросы

  • Нет связанных вопросов^_^