0

wordpress ページのギャラリーを作ろうとしています。

このコードは、特定のページのすべての子ページを取得し、ページのサムネイルとその名前を含む結果を返す必要があります。サムネイルはクリック可能なリンクである必要があります。

私はこの時点に到達し、立ち往生しています:

 <?php $pages = get_pages(array('child_of' => 8)); ?>  

        <?php foreach ($pages as $page): ?> 
            <h1><?php echo $page['post_title'] ?></h1> 
            <a href="<?php echo $page['guid'] ?>"><img src="" /></a> 
        <?php endforeach; ?>
4

1 に答える 1

2

スタック オーバーフローへようこそ。まず最初に、SO で質問したい将来の問題がある場合、「うまくいきません」と言っても何もわかりません。車に問題がある場合、修理店に歩いて行き、「私の車は動かないので、何が悪いのか教えてください」と言いますか?

それを覚えておいてください。

あなたの質問に答えるために、get_pages または get_posts (または任意の標準 WP クエリ オブジェクト) から返されるアイテムは連想配列ではありません。それらはオブジェクトです。次のようにアクセスします。

<?php
$pages = get_pages(array('child_of' => 8));
foreach($pages as $page):
?> 
    <h1><?php echo $page->post_title; ?></h1> 
    <a href="<?php echo $page->guid; ?>"><img src="" /></a> 
<?php
endforeach;
?>

更新:あなたがしていることは言うまでもなく悪いことではありませんが、かなりずさんです。WordPress を初めて使用するすべての人に起こることなので、それはあなたのせいでもありません。

あなたが行ったことは、本質的にコンテンツのない「空白」ページを作成したことであり、それをページ アーカイブ テンプレートの一種のシェルとして使用することを意図していました (各ページは絵画ページの子です)。実際には、これを行う必要さえありません。

メイン メニューのクラスから判断すると、Menu オブジェクト (Appearances->Menus にあります) を使用して、ページの上部にメニュー バーを作成しています。これはまったく問題なく、メニューを生成する最良の方法です。

「Wordpress に適した」方法で絵画アーカイブを生成するには、カテゴリを作成し (Posts->Categories)、「Painting」という名前を付けてから、[新しいカテゴリを追加] ボタンをクリックします。

次に、作成済みのすべてのペイント ページを新しい投稿に移動し、作成する各投稿の [ペイント] オプションを選択します。

それが完了したら、メニュー オブジェクトの空の絵画ページを絵画カテゴリに切り替えることができます (カテゴリ セレクターの左側で使用できるようになりました)。これにより、Wordpress とテーマに「絵画」タイプの投稿のみをクエリし、結果を 1 つのページに集約するように指示するリンクが作成されます。これが目的です。

これの良いところは、各絵画をさらに別のサブカテゴリに分類したい場合は、それもできることです。たとえば、「水彩」という新しいカテゴリを「絵画」の子として作成し、すべての水彩投稿にそのカテゴリのタグを付けることができます。

あなたが持っているテーマは、それ自体は悪くないようです。ばらばらにしたり、独自のコードをゼロから作成したりする前に、まず Wordpress の流れと構成に慣れることをお勧めします。

これが役立つかどうか教えてください。

于 2012-07-26T00:33:58.443 に答える