Как передать значение переменной в t.slug IN()?

Я пытаюсь сделать так, чтобы в админке при создании/редактировании записи в рубриках была только та рубрика которая соответствует компании автора.

function post_editor_list_terms_exclusions( $exclusions, $args ) {
    global $pagenow;

    if ( in_array( $pagenow, array( 'post.php', 'post-new.php' ), true ) ) {

        //$all_company = include_once('php/all_company.php');

        $all_company = array(
            'company_1' => 'news_1',
            'company_2' => 'news_2',
            'company_3' => 'news_3'
        );

        //$user_company = get_user_meta( get_current_user_id(), 'user_company', true );
        $user_company = 'company_2';
        $cat_company = $all_company[$user_company];

        if ( $cat_company ) {
            $exclusions = "{$exclusions} AND t.slug IN ('".$cat_company."')";
        }

    }   
        return $exclusions;

}
 
add_filter( 'list_terms_exclusions', 'post_editor_list_terms_exclusions', 10, 2 );
$exclusions = "{$exclusions} AND t.slug IN ('".$cat_company."')";
//получаю вместо списка рубрик news_2news_2
//$exclusions = "{$exclusions} AND t.slug IN ('news_2')";
//получаю вместо списка рубрик news_2news_2

без if

$exclusions = "{$exclusions} AND t.slug IN ('".$cat_company."')";
//получаю вместо списка рубрик news_2news_2
$exclusions = "{$exclusions} AND t.slug IN ('news_2')";
// Получаю нужную рубрику

Ответы (1 шт):

Автор решения: KAGG Design

Оберните строку

$exclusions = "{$exclusions} AND t.slug IN ('". $cat_company ."')";

в if

if ( $cat_company ) {
    $exclusions = "{$exclusions} AND t.slug IN ('". $cat_company ."')";
}
→ Ссылка