0

私はhttp://www.urbanvision.org.uk/にWordpressが管理するWebサイトを持っています。私はそれを構築し、すべてが思い通りに機能し、最初の完全に構築されたWordpressWebサイトであるため結果に満足しています。 。

週の初めにあったリ​​クエストに行き詰まってしまいました。

販売用不動産ページ(http://www.urbanvision.org.uk/services/property-services/properties-for-sale/)があります。このページの項目は、計画と不動産の詳細のPDFダウンロードにリンクしています。ただし、PDFではなく外部リンクにリンクするために追加する必要のあるプロパティがいくつかあります。

私が抱えている問題は、ページテンプレートがプラグインのAdvanced Custom Fieldsによって管理されるカスタムフィールドに依存していることです。PDFをアップロードするフィールドはファイルアップロードフィールドであり、PDFを取得しますが、別のページやサイトへのURLは取得しません。

カスタムフィールドをアップロード画面ではなくURLに切り替えようとしましたが、2つの理由から、これには熱心ではありませんでした。1)他のプロパティに戻って、変更されたフィールドにURLをコピーし、2)次のようになります。同僚が更新するのはもう少し難しいです。

また、別のフィールドを導入して、どのカスタムフィールドを取り込む必要があるかを検討しました。

PDFファイルがproperty_detailsに存在する場合は、PDFへのURLをプルします。URLがproperty_details_urlに存在する場合は、入力されたURLをプルインします。

各投稿には、詳細(PDFまたは外部URL)にリンクする必要がある2つの部分があります。サムネイル画像とビュー詳細リンクです。

私が以前持っていたコード(PDFにリンクするだけ):

<?php
$featuredPosts = new WP_Query();
$featuredPosts->query('showposts=20&cat=13');
while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>

<div class="literaturedescription">
<a href="<?php the_field('property_details'); ?>" title="<?php the_field('property_title'); ?>">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>
<p><strong><?php the_field('property_title'); ?></strong><br /><?php the_field('property_excerpt'); ?> <span style="color:red;font-weight:bold;"><?php the_field('property_status'); ?></span>

<br /><a href="<?php the_field('property_details'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

私が変更したコード(まだ動作させることができません):

    <?php $featuredPosts = new WP_Query(); 
$featuredPosts->query('showposts=20&cat=12');
while ($featuredPosts->have_posts()) : $featuredPosts->the_post(); ?>

<div class="literaturedescription">
<a href="<?php the_field('property_details'); ?>" title="<?php the_field('property_title'); ?>">
<img src="<?php the_field('property_thumbnail'); ?>" width="220px" height="150px" alt="<?php the_field('property_title'); ?>" /></a>
<p><strong><?php the_field('property_title'); ?></strong><br /><?php the_field('property_excerpt'); ?> <span style="color:red;font-weight:bold;"><?php the_field('property_status'); ?></span>


<?php if(get_field('property_details_url')){ ?>

<br /><a href="<?php the_field('property_details_url'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } else { ?>

<br /><a href="<?php the_field('property_details'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } ?>

また、Wordpressが使用しているMySQLデータベースから直接プルすることも検討しましたが、ページをエラーなしで表示するのに本当に苦労しました。

いつものように、どんな助けでも大歓迎です。

4

1 に答える 1

2

あなたは正しい軌道に乗っていますが、何をすべきかはカスタムフィールドを変数に割り当てることです。

すなわち:

<?php
$prop_det_url = get_field('property_details_url');
if($prop_det_url!=''){ ?>

<br /><a href="<?php echo $prop_det_url; ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } else { ?>

<br /><a href="<?php the_field('property_details'); ?>" target="_blank" title="<?php the_field('property_title'); ?>">&gt; &gt; View Details</a></p><br />

<?php } ?>

うまくいけば、property_details_url に何も含まれていないことを確認して、リンクが表示されます。そうでない場合は、他のコードが表示されますか?

マーティ

于 2012-06-23T13:24:28.367 に答える