Отключить Все в одном пакете SEO для некоторых пользовательских типов сообщений [закрыто]


У меня есть сайт Wordpress, использующий пользовательскую запись типы, и у меня также установлен пакет SEO "Все в одном".

Мне было интересно, знает ли кто-нибудь взлом или модификацию, которую я могу внести в код, которая позволит мне запретить отображение изображенной области в определенных пользовательских типах сообщений?

enter image description here

Любая помощь очень признательна.

Author: Johannes Pille, 2012-06-13

2 answers

Если вас устраивает отключение SEO-пакета на всех CPT, следуйте ответу брасофло.

Если вы хотите сохранить метабокс для некоторых CPT и отключить его только для нескольких избранных:

function wpse_55088_remove_aiosp() {
    remove_meta_box( 'aiosp', 'movie', 'advanced' );
}
add_action( 'add_meta_boxes', 'wpse_55088_remove_aiosp' );

Где 'movie', в соответствии с ответом брасофло, название CPT. Повторите вызов, чтобы remove_meta_box(); для каждого типа публикации, на который вы хотите настроить таргетинг. Если это довольно большое число, вы можете заключить его в цикл:

function wpse_55088_remove_aiosp() {
    $cpts = array( 'movie', 'album', 'clip', 'trailer' );

    foreach( $cpts as $cpt ) {
        remove_meta_box( 'aiosp', $cpt, 'advanced' );
    }
}
add_action( 'add_meta_boxes', 'wpse_55088_remove_aiosp' );

Может показаться немного запутанным, что я предлагаю подключить функция с действием 'add_meta_boxes', когда вы хотите удалить одно из них, но это действие выполняется после добавления всех мета-полей, следовательно, именно тогда существующие могут быть удалены. Если вы запустили функцию слишком рано, поле будет добавлено позже.

 5
Author: Johannes Pille, 2012-06-13 12:28:32

Похоже, что это всего лишь вопрос настройки плагина...
/wp-admin/options-general.php?page=all-in-one-seo-pack/aioseop.class.php

enter image description here

 1
Author: brasofilo, 2012-06-13 11:35:33