如果GET_POST_META函数返回空-不显示HTML

时间:2021-07-13 作者:mark2090

我正在使用一些自定义PHP开发一个网站。

帖子使用;自定义字段“;,其中“自定义”字段pdf\\U名称;当要附加PDF文档时,会将其添加到帖子中。该值将是该PDF的URL。

如果没有PDF,则不使用此自定义字段,因此不提供(URL)值。

为此,我进入;仅有一个的php“;要添加这样的函数,请执行以下操作:

<?php
$pdf_name = get_post_meta($post->ID, \'pdf_name\', true);
?>
然后添加HTML:

<a class="pdfDownload" href="<?php bloginfo(\'url\'); ?>/wp-content/uploads/<?php echo $pdf_name; ?>">PDF Download</a>
“HTML文本链接”;PDF下载“;,将显示在所有post显示上,无论是否有PDF链接。如果有人单击没有返回PDF URL的文本链接,则会生成404页。

Request:
如果$pdf_name 函数未找到要使用的PDF URL。换句话说,它查找并返回为无值


如果更简单,当没有PDF URL值时,请将HREF HTML替换为基本的非链接文本,如;没有可用的PDF文件;。

注意:我使用的是子主题,所以主题是单主题。php文件在那里重复。

有人能帮忙吗
谢谢

1 个回复
最合适的回答,由SO网友:Aboelabbas 整理而成

如果没有pdf文件时自定义字段始终为空,则可以在显示链接之前检查该字段是否为空:

    <?php
    $pdf_name = get_post_meta($post->ID, \'pdf_name\', true);
    if($pdf_name) {
    ?>
    <a class="pdfDownload" href="<?php bloginfo(\'url\'); ?>/wp-content/uploads/<?php echo $pdf_name; ?>">PDF Download</a>
    <?php
    }
    ?>
但是,如果即使没有附加实际的pdf文件,自定义字段也可能保留值,则可以在显示下载URL之前,通过其路径检查pdf文件是否确实存在:

    <?php
    $pdf_name = get_post_meta($post->ID, \'pdf_name\', true);
    $uploads_dir = wp_upload_dir();
    $pdf_path = $uploads_dir[\'basedir\'] . \'/\' . $pdf_name;
    if(is_file($pdf_path)) { ?>
        <a class="pdfDownload" href="<?php bloginfo(\'url\'); ?>/wp-content/uploads/<?php echo $pdf_name; ?>">PDF Download</a>
   <?php
    }
    ?>

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在