В вашем коде, как минимум есть много синтаксических ошибок.
Исправленный вариант без синт. ошибок:
<section class="container pt-3">
<div class="row mt-5 mb-5 text-light">
<?php
$categories = get_categories(array(
'orderby' => 'name',
'order' => 'ASC',
'type' => 'post'
));
?>
<?php foreach( $categories as $category ){ ?>
<div class="work col-3 mt-1 pr-1 item">
<div class="copywriter">
<?php echo '<a class="rounded border border-light p-2" href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
$term_id = get_queried_object_id();
// получим ID картинки из метаполя термина
$image_id = get_term_meta( $term_id, '_thumbnail_id', 1 );
$image_url = wp_get_attachment_image_url( $image_id, 'full' );
// выводим картинку на экран
echo '<img src="'. $image_url .'" alt="" />';
?>
</div>
</div>
<?php } ?>
</div>
</section>
А дальше уже надо смотреть работает или нет