创建单独的页面以从父帖子传递自定义字段

时间:2012-06-20 13:03:02

标签: php wordpress custom-fields

我有一个内容共享网站,我在那里分享Windows 7的主题和小工具。

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

现在我要创建一个名为" Download"的单独页面。当用户访问帖子页面并单击下载按钮时,必须将其转发到必须开始下载的新页面。

新页面"下载"必须获得自定义字段值" $ durl"从帖子。

有可能吗?我已经在codeigniter中完成了它,但不知道如何使用wordpress实现这一点。

请指导我。

的问候, 里亚斯

2 个答案:

答案 0 :(得分: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通过其自定义字段获取下载链接。

答案 1 :(得分:0)

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

<?php get_header();?>

将其粘贴在代码部分,以创建新的模板文件..

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

转到管理区域内的页面,如果您还没有创建名为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 } ?>
希望这会有所帮助。

玛蒂