如果没有缩略图和类别,则默认发布缩略图和类别

时间:2021-04-04 作者:Innovative Khan

我想做以下。。。

1 - 发布新帖子,2 - 检查这篇新帖子是否有特色图片,3 - 如果没有特色图像,请定义其类别并将特定的准备好的图像保存为特色图像。=为每个类别准备不同的图像。

请看一下我在函数中使用的以下代码。php。但这对我不起作用。

add_action(\'save_post\', \'wp_force_featured_image\', 20, 2);

 function wp_force_featured_image($post_id, $post) {

if( $post->post_type == \'post\' && $post->post_status == \'publish\' ) {

if(!isset($_POST[\'_thumbnail_id\'])) {

         $post_categories = get_the_category( $post->ID );
         $cats = $post_categories->term_id;

         if ( $cats = 1 ) {      
          add_post_meta( $post_id, \'_thumbnail_id\', \'3135\' );
         }
         elseif  ( $cats  = 2 ) {
          add_post_meta( $post_id, \'_thumbnail_id\', \'3138\' );
         }
    }
    }
}

1 个回复
SO网友:Frank P. Walentynowicz

我建议您安装FPW Category Thumbnails 插件。它将涵盖您问题中提到的所有场景。它将避免您在中维护代码functions.php, 并将以视觉方式完成!内置的FPW Post Thumbnails 将为您的特色图像添加非常强大的样式(边框、阴影、边距、背景等)。您将能够切换主题,而不会丢失其功能!

您的代码(如果您想使用它)需要4次更改才能工作。替换:

if(!isset($_POST[\'_thumbnail_id\'])) {
使用

if(-1 == $_POST[\'_thumbnail_id\']) {
并替换:

$cats = $post_categories->term_id;
使用

$cats = $post_categories[0]->term_id;
在检查类别id的行中,更改分配运算符= 至比较==.