详解wordpress怎么添加自定义按钮并导出csv

wordpress 后台添加自定义按钮导出csv

在wp-admin/edit.php中找到如下代码:

<?php
if ( current_user_can( $post_type_object->cap->create_posts ) ) {
    echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="page-title-action">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
}

在上面代码的下一行加入如下代码:

if ($post_type == 'aaa') {
    echo ' <a href="'.esc_url( admin_url('admin-ajax.php?action=export_permanent_csv')).'" class="page-title-action">CSV导出</a>';
}

$post_type 是在这个文件的头部获取的文章的类型。
在wp-content/themes/hcr/functions/admin.php

function export_permanent_csv()
{
    $args = array(
            'post_type' => 'aaa',

            'numberposts' => -1,
            'meta_key' => 'mark_id',

            'orderby' => 'meta_value_num',

            'order' => 'ASC',
            );
    $posts = get_posts($args);
    if (empty($posts)) {
        return;
    }
    $noNumber = 1;
    foreach ($posts as $post) {
        $metaData = get_post_meta($post->ID);
        $data = [
            $metaData['mark_id'][0],
            $noNumber,
            $post->post_title,
            $metaData['prmnnt_address'][0],
            $metaData['prmnnt_tel'][0],
            $metaData['prmnnt_fax'][0],
            $metaData['prmnnt_site'][0],
            $metaData['prmnnt_time'][0],
            $metaData['prmnnt_closing'][0],
            $metaData['prmnnt_service'][0],
            $metaData['prmnnt_class'][0],
            $post->post_type,

        ];
        $csv_output .= '"'.implode('","', $data).'"'."\n";
        $noNumber++;
    }
    $csv_output .= "\n";
    $filename = $file."_".date("Ymd", time());
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: csv" . date("Y-m-d") . ".csv");
    header("Content-disposition: filename=".$filename.".csv");
    print $csv_output;
    exit;
}
add_action('wp_ajax_export_permanent_csv', 'export_permanent_csv');

以上就是详解wordpress怎么添加自定义按钮并导出csv的详细内容,

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发

请登录后发表评论