我正在使用一些自定义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文件在那里重复。
有人能帮忙吗
谢谢
最合适的回答,由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
}
?>