对于我正在处理的网页,我创建了一个插件,用户可以将各种成员及其信息放入其中,并且我创建了一个页面模板,我将这些成员输出到页面。
这应该是应该的,但我想下载xml'页面下方的按钮。
所以我尝试添加到我的页面模板
<div class="download_button">
<?php
$args = array(
'post_type' => 'members',
'posts_per_page' => -1,
'order' => 'ASC',
);
$loop = new WP_Query( $args );
$out_array = array();
while ( $loop->have_posts() ) : $loop->the_post();
$post_meta = get_post_meta($post->ID);
$mail_array = explode(', ', $post_meta['Members_contact_mail'][0]);
$email = array();
if (is_array($mail_array)) {
foreach ($mail_array as $key) {
$email[] = $key;
}
}
$phone_array = explode(', ', $post_meta['Members_contact_phone'][0]);
$phone = array();
if (is_array($phone_array)) {
foreach ($phone_array as $key_phone) {
$phone[] = $key_phone;
}
}
$title = get_the_title();
$out_array[] = array(
$title,
$post_meta['Members_address'][0],
$post_meta['Members_person_in_charge'][0],
$post_meta['Members_entry_date'][0],
$phone,
$email,
$post_meta['Members_oib'][0]
);
endwhile;
$phpexcel = new Excel_Xml;
$phpexcel->addWorksheet('members', $out_array);
// $phpexcel->sendWorkbook('members.xls');
?>
<a href="<?php echo esc_url( $phpexcel->getWorkbook() );?>" download=""><i class="bm-download"></i> <?php esc_html_e('members.xml', 'theme') ?></a>
</div>
在我的网页模板中,我已经包含了excel_xml.php
中名为$phpexcel->sendWorkbook('members.xls');
的文件。
现在困扰我的是如何创建一个有效的下载链接。
如果我取消注释
download_button
在我的excel_xml.php
div中我实际上得到了xml文件,所以我可以看到这个有效。但那不是我需要的。我已尝试使用 $phpexcel = new Excel_Xml;
$phpexcel->addWorksheet('members', $out_array);
$phpexcel->writeWorkbook('members.xls');
?>
<a class="member_download" href="<?php echo home_url(); ?>members.xls" target="_blank"><i class="bm-download"></i> <?php esc_html_e('members.xls', 'theme') ?></a>
文件中的其他功能,但这些功能均无效。
有没有人有这方面的经验?
解决方案:
这似乎有效:
.xls
输入页面时,/* Defining Variables */
var toggled = false;
var thing = "";
var inMethod = false;
/* Defining Methods */
$(document).on("click", "#toggle", function() {
if($(this).attr("class") == "fa fa-check-square-o fa-5x checked") {
$(this).attr("class", "fa fa-square-o fa-5x unchecked");
}
else {
$(this).attr("class", "fa fa-check-square-o fa-5x checked");
}
console.log();
});
function newThing() {
$("body").html($("body").html() + "<div id='input'><div class='input-group margin-bottom-sm' id='imad'><span class='input-group-addon'><i class='fa fa-file-text-o fa-1x'></i></span><input id='myInput' class='form-control' type='text' placeholder='Input'></div></div>");
inMethod = true;
console.log(inMethod);
var box = $("#input");
var ema = $("#imad");
box.css("top", screen.height / 2 - 175);
box.css("left", screen.width / 2 - 175);
ema.css("top", screen.height / 64);
ema.css("left", screen.width / 64);
}
window.addEventListener("keydown", function(e){
if(e.keyCode == 13 && inMethod) {
thing = $("#myInput").val();
$("#checklist").html( $("#checklist").html() + "<div id='checkOption'><i id='toggle' class='fa fa-square-o fa-5x unchecked'></i><span id='ds' class='fa fa-4x'>" + thing + "</span></div>" );
window.location.hash = "";
inMethod = false;
console.log(inMethod);
$("#input").remove();
}
});
$(window).on('hashchange', function() {
if(window.location.hash.substr(1) == "new") {
inMethod = false;
newThing();
} else if(window.location.hash.substr(1) == "clear") {
$("#checklist").html("");
} else if(window.location.hash.substr(1) == "delete") {
alert("Disabled for now");
}
});
文件将保存到根文件夹。当您单击按钮时,它会下载文件。