Как передать значение переменной в 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 ."')";
}