wordpress获取指定分类列表封面名称以及yoast SEO元描述

wordpress yekong

wordpress主题开发中,我们在写文章列表调用的时候,需要设置自定义字段,这里使用的是yoast SEO元描述来作为自定义字段,前端需要调用这个字段。

要获取Yoast SEO插件设置的元描述并在你的WordPress主题中显示,你需要使用get_post_meta函数来获取名为_yoast_wpseo_metadesc的自定义字段。这个字段存储了Yoast SEO为每篇文章或页面设置的元描述。
wordpress获取指定分类列表封面名称以及yoast SEO元描述
下面是修改后的PHP代码片段,它将从Yoast SEO插件获取元描述并在HTML结构中输出:

<div class="list2">
    <?php
    $args = array(
        'category__in' => array(16), // 指定分类ID
        'post_status' => 'publish', // 只选择已发布的文章
        'posts_per_page' => -1, // 获取所有符合条件的文章
    );

    $posts = get_posts($args);

    if ($posts) {
        foreach ($posts as $post) {
            setup_postdata($post);
            // 获取文章的特色图像URL
            $img_url = get_the_post_thumbnail_url($post->ID, 'full');
            // 文章标题
            $title = get_the_title($post->ID);
            // 获取Yoast SEO设置的元描述
            $yoast_meta_description = get_post_meta($post->ID, '_yoast_wpseo_metadesc', true);

            // 输出HTML结构
            echo '<div class="listItem">';
            echo '<img src="' . esc_url($img_url) . '" alt="">'; // 如果没有特色图像,则使用默认图像
            echo '<div class="listItemBottom">';
            echo '<p>' . esc_html($title) . '</p>';
            echo '<p>' . esc_html($yoast_meta_description) . '</p>';
            echo '</div>';
            echo '</div>';
        }
        wp_reset_postdata();
    }
    ?>
</div>

在这段代码中,$yoast_meta_description变量用于存储从Yoast SEO插件获取的元描述。如果Yoast SEO没有为某篇文章设置元描述,get_post_meta函数将返回空字符串,你可能需要添加一些条件判断来处理这种情况,例如提供一个默认的描述。

请确保你的WordPress主题或子主题的functions.php文件中没有禁用或过滤掉Yoast SEO的元描述字段。如果你发现获取不到元描述,可能需要检查是否有其他插件或代码干扰了这个字段的输出。

输出效果

输出效果

喜欢