何度も何度も何度も答えられている単純な質問だと思うので、ここに投稿することを控えてきました. 人々が同じことを尋ねた数え切れないほどの投稿を読んだので、これを知っていますが、何らかの理由で同じ結果を得ることができません.
必要なものはかなり単純です。WordPress ページのテンプレート ファイルで、現在のページと親ページに関連するディレクトリからすべての画像を表示する必要があります。
まず最初に、私はこのコードを WordPress の外部で動作させることができるので、テンプレート ファイル内でコンテンツが配信される方法に問題があると思われることを指摘させてください。
これは私が持っているコードです:
<?php
$page_parent = get_the_title($post->post_parent);
$current_page = get_the_title($post);
$upload_dir = wp_upload_dir();
$dir = $upload_dir['baseurl'].'/assets/'.$page_parent.'/'.$current_page.'/';
$files = glob($dir.'{*.jpg,*.png}', GLOB_BRACE);
foreach ($files as $image){
echo '<img src="'.$dir.$image.'" alt="'.$image.'" />';
};
var_dump($files); // This displays array(0) { }
var_dump($image); // This display NULL
echo $dir; // This works to display the correct URL.
?>
上記のコードは画像を表示していません。<img>
タグを取り除いて単純なものを試してecho $image;
も、ファイル名さえ表示されません。ただし、echo $dir;
動作し、への直接パスである正しい URL を表示します。http://localhost:8888/wordpress/wp-content/uploads/assets/Photography/Holga/
私var_dump($files)
が得るすべてarray(0) { }
を行うと、WordPressの外にあるすべてを行うと、データが表示されますvar_dump($image)
。NULL
ページ名のタイトルが大文字になっている可能性があることは承知しているため、フォルダー構造の一貫性を保っていますが、前述のように、WordPress の外でこの作業を行うことができて、私は死んでいます!
これがWordPressページテンプレート内で機能しない可能性がある理由や提案はありますか?
前もって感謝します!