我写了这段代码:
function userfunc_get_file_links($sub_folder) {
if ( is_user_logged_in() ) {
$directory = get_stylesheet_directory()."/files/".$sub_folder;
$scanned_directory = array_diff(scandir($directory), array('..', '.'));
echo "<ul class='support_links'>";
foreach ($scanned_directory as $key => $value) {
echo "<li><a href='files/".$value."'>".$value."</a></li>";
}
echo "</ul>";
}
}
我已将其添加到我的功能文件中,可以通过页面模板成功地应用它,并显示文件链接列表。
(模板文件):
<?php
/*
Template Name: supportpage
*/
?>
<?php get_header(); the_post(); ?>
<div id="content" class="inner-page">
<div class="main-content">
<div class="brack-cum">
<div class="inner-small">
<?php
if (function_exists('wp_bac_breadcrumb')) {wp_bac_breadcrumb();}
?>
</div>
</div>
<div class="title">
<div class="inner-small">
<h2><?php the_title(); ?></h2>
</div>
</div>
<div class="content-page inner-small">
<?php
the_content();
?>
</div>
</div>
<?php get_footer(); }?>
然而,当我点击它们时,会出现404错误,我无法弄清楚原因。我尝试重置永久链接并检查FTP路径(它是100%正确的),但问题仍然存在。
如果我尝试将我的/files/文件夹移动到服务器的根目录中,使用以下命令:
$directory = home_url()."/htdocs/files".$sub_folder;
这段代码返回:
警告:scandir (http://localhost/wordpress/files/application_notes): 无法打开目录:在C:\ xampp \ apps \ wordpress \ htdocs \ wp-content \ themes \ twentythirteen-child \ user_functions.php的第5行未实现
这些文件大多数是PDF文件(“how_to_do_stuff.pdf”等)。
有什么想法我接下来可以采取哪些步骤吗?
编辑1:使用原始代码显示链接但在单击时返回WordPress 404:
var_dump($directory)
string(93) "C:\xampp\apps\wordpress\htdocs/wp-content/themes/twentythirteen-child/files/application_notes"
var_dump($scanned_directory)
array(3) {
[2]=>
string(9) "test1.pdf"
[3]=>
string(9) "test2.pdf"
[4]=>
string(9) "test3.pdf"
}
用产生警告的代码:
var_dump($directory)
进行调试string(57) "http://localhost/wordpress/htdocs/files/application_notes"
var_dump($scanned_directory)
NULL