0

我有一个内容共享站点,我在其中共享 Windows 7 的主题和小工具。

我正在使用自定义字段上传文件并将其值存储在名为 durl 的自定义字段中。

现在我想创建一个名为“下载”的单独页面,当用户访问帖子页面并单击下载按钮时,他必须被转发到必须开始下载的新页面。

新页面“下载”必须从帖子中获取自定义字段值“$durl”。

是否可以?我已经在 codeigniter 中完成了,但不知道如何使用 wordpress 来实现。

请指导我。

问候, 里亚斯

4

2 回答 2

1

这是另一种方法。

通过复制 page.php 创建一个下载模板并将其包含在您的新模板中:

<?php
/*
Template Name: Downloads
*/
?>

用页眉、页脚等填充模板,如 page.php。在 WordPress 中创建一个新页面并将模板“下载”分配给它。

例如,在您的原始帖子(single.php)中,动态创建下载链接,如下所示:

<a href="/download/?fileID=<?php echo $post->ID; ?>">Download File</a>

用户将被重定向到您刚刚创建的下载页面。您需要将此代码放在下载模板/页面中:

<?php

if (isset($_GET['fileID']) && is_numeric($_GET['fileID'])) { // to verify that fileID is passed
      // we now have the post ID in downloads page and can create download link
      $file = get_post_meta($_GET['fileID'], 'durl', true);
}
?>

<a href="<?php echo $file; ?>">Download now</a>

它应该在下载页面中打印自定义字段值(这是与您的帖子相关的下载链接)

这段代码的想法是在 $_GET 中传递帖子 ID,并使用帖子 ID 通过其自定义字段获取下载链接。

于 2012-06-20T18:13:37.157 回答
0

只需创建一个名为下载的新页面模板。复制并粘贴主题文件中 page.php 中的所有代码,然后上面写着:

<?php get_header();?>

将此粘贴到代码部分中,以创建新的模板文件..

<?php
/*
  TEMPLATE NAME: Downloads
*/
?>

转到管理区域内的页面,如果您尚未创建名为下载的页面,则将新模板分配给该页面,

在您的新模板页面代码中,

放置这部分代码,您是否希望出现下载链接

<?php 
 if(isset($_POST['durl'])){ 
    $durl = trim($_POST['durl']);
?>
<div id="download_box">
    <a href="<?php echo $durl;?>">click here to download</a>
</div>
<?php } ?>

希望这会有所帮助。

马蒂

于 2012-06-20T16:25:05.850 回答