Вы можете создать поля простым циклом с помощью обычного массива ключ => значение
$crb_options = array(
'post_meta' => __( 'Article Properties', 'textdomain' ),
'term_meta' => __( 'Category Properties', 'textdomain' ),
);
foreach ( $crb_options as $key => $crb_option ) {
Container::make( $key, $crb_option )
->add_tab( 'SEO', array(
Field::make( 'text', 'crb_seo_title', __( 'Title', 'textdomain' ) ),
Field::make( 'textarea', 'crb_seo_description', __( 'Description', 'textdomain' ) ),
Field::make( 'text', 'crb_seo_keywords', __( 'Keywords', 'textdomain' ) ),
Field::make( 'radio', 'crb_seo_robots', __( 'Robots Visibility', 'textdomain' ) )
->add_options( array(
'index, follow' => 'index, follow',
'noindex, nofollow' => 'noindex, nofollow',
) )
) );
}
Строку 'SEO' переводить не обязательно, а вот русскоязычные строки лучше в строки перевода обернуть. И очень желательно указать textdomain вашей темы, который указывается при регистрации и подключении файла перевода с помощью функции
load_theme_textdomain()
keywords не используются и никак не влияют на SEO уже более 10 лет
В каталоге полно
плагинов для SEO, будет работать лучше, чем самодеятельность
noindex,
nofollow задаются с помощью функции и фильтра
wp_robots