0

Windows 7 のテーマとガジェットを共有するコンテンツ共有サイトを持っています。

カスタムフィールドを使用してファイルをアップロードし、その値をdurlという名前のカスタムフィールドに保存しています。

ここで、「ダウンロード」という別のページを作成したいと考えています。ユーザーが投稿ページにアクセスしてダウンロード ボタンをクリックすると、ダウンロードを開始する必要がある新しいページに転送する必要があります。

新しいページ「ダウンロード」は、投稿からカスタム フィールド値「$durl」を取得する必要があります。

出来ますか?私は codeigniter でそれを行いましたが、ワードプレスを使用してこれを達成する方法がわかりません。

その上で私を案内してください。

よろしく、 リアス

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 に答える