0

うまくいけば、これは簡単に解決できます。以前にデータベースに入力されたフォーム データを取り込むいくつかの要素があり、それらはカスタム フィールドとして投稿に追加されます。私はこれをphpクエリを使用して抽出します:

<a href="<?php echo get_post_meta($post->ID, 'societywebsite', true); ?>" target="_blank" >Website</a> 

明らかに、これはループ (content.php) に表示され、適切な投稿に追加されます。ただし、ユーザーがフォームの「societywebsite」フィールドに Web サイトを入力しないことを選択したために、データがない場合があります。この場合、「Web サイト」へのリンクをそこに置く必要はありません。

私が知りたいのは、データが存在するかどうかを確認し、存在する場合にのみリンクを表示する If 句を作成する方法です。javascript は気にしませんが、検索結果に対して content.php が複数回実行されるため、解決策がよりクリーンで「ハッキー」ではないほど優れています。

あなたが提供できる助けやアドバイスをありがとう。

4

2 に答える 2

1

これを行う別の方法は、Wordpress Codex によると次のとおりです...

$societywebsite = get_post_meta($post->ID, 'societywebsite', true);

if ($societywebsite != '') {
    echo '<a href="' . $societywebsite . '" target="_blank" >Website</a>';
}

デバッグの目的で、これの最後に「else」を追加できます。

于 2013-01-25T23:39:27.470 に答える
0

そのフィールドが URL の文字列であると仮定すると、次のようなことができます。

if (strlen(get_post_meta($post->id, 'societywebsite', true)) < 1) {
    echo '<a href="' . get_post_meta($post->ID, 'societywebsite', true) . '" target="_blank" >Website</a>';
}

そのフィールドに複数の文字の文字列があるかどうかを非常に簡単に確認します。1文字以上の場合、リンクが表示されます。そうしないと・・・どうにもなりません。

于 2013-01-25T23:03:14.107 に答える