0

PDFが存在する場合は同じ名前のPDFにリンクするサムネイルを取得しようとしていますが、PDFが存在しない場合は何にもリンクしません。これが私が持っているコードです:

<?php 
if ( function_exists('has_post_thumbnail') && has_post_thumbnail() ) {
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full') ;
$pdf = substr_replace($full_image_url , 'pdf', strrpos($full_image_url[0] , '.') +1);

$filename = $pdf[0];
if (file_exists($filename)) {
echo '<a href="' . $pdf[0] . '" title="' . the_title_attribute('echo=0') . '" . target="_blank" >';
the_post_thumbnail('Full Size');
echo '</a>';
  }
else {
echo "The file $filename exists";
  }
 }
?>

現在、elseステートメントは、ファイルが見つかったかどうかを証明するためのものです。表示されているように見えますThe file http://localhost/AWAD/wp-content/uploads/2012/03/+D.pdf exists。そして、条件を取り除くと、投稿のサムネイルがPDFへのリンクとともに表示されます。条件を機能させることができません。

なぜそれが機能しないのか誰かが見つけることができますか?

4

2 に答える 2

4

FS のパスを に渡す必要file_existsがあります。現在 URL を渡しています。

于 2012-05-11T05:07:16.820 に答える
1

file_existsURLではなく完全なファイルパスが必要だと確信しています。したがって、WordPresswp_uploads_dir関数を使用して、アップロードディレクトリへのベースパスを取得し、残りのパスをその末尾に追加して、その文字列をに渡すことをお勧めしますfile_exists。うまくいけば、それは理にかなっています。

于 2012-05-11T05:11:43.057 に答える