Intereting Posts
Как проверить, является ли последний сегмент uri типом пользовательской почты или таксономией? Как изменить высоту изображения заголовка в Twenty Seventeen? Показать последние сообщения x из всех категорий в Custom Post Type / Taxonomy Следующий и предыдущий (разбиение на страницы в этом случае) Не отображается Можно переключаться между правами администратора и авторским взглядом? почему так много javascript-библиотек загружаются вместе с моим сайтом? Jetpack Infinite Scroll не работает Аргументы publish_post с save_post wp_remote_get не работает с безопасными подключениями https? Конкретная папка и создание миниатюр для media_sideload_image Отображать значение настраиваемого поля в виде mailto: link Как разрешить пользователям очищать кеш сообщений с помощью WP Super Cache? WordPress «помни меня» – как это должно работать? Экспорт таблицы wordpress в Excel Как показать пользовательское уведомление конкретному пользователю?

Для чего нужен фильтр $ object->?

Я продолжаю видеть этот шаблон и задаюсь вопросом, для чего это, как WP использует его внутри:

if ( empty($post) ) { if ( isset($GLOBALS['post']) ) $_post = & $GLOBALS['post']; else return $null; } elseif ( is_object($post) && empty($post->filter) ) { _get_post_ancestors($post); $_post = sanitize_post($post, 'raw'); wp_cache_add($post->ID, $_post, 'posts'); } else { if ( is_object($post) ) $post_id = $post->ID; else $post_id = $post; 

Конкретная строка – is_object($post) && empty($post->filter) . Я видел это свойство filter связанное с другими объектами. Хотите узнать, что он делает и как его можно использовать?

РЕДАКТИРОВАТЬ

Я надеюсь получить больше информации об этом! К сожалению, поиск в Google с «фильтром» в нем вызывает только перехваты фильтра и т. Д. Это сложная задача, чтобы получить независимую информацию. Бюлер?

Фильтр $ post-> содержит контекст, в котором фильтруется содержимое сообщения. Контекст может быть чем-то вроде «отображения», указывающего, что сообщение предназначено для отображения на странице.

Это делается с помощью функций санитарии, чтобы указать, в каком контексте были обработаны почтовые данные. Различные контексты получают различные виды санитарии. Например, «raw» – это несетевые данные. «display», вероятно, прошел через функцию esc_html или что-то еще для этого контекста. Функция sanitize_post () использует это для проверки ранее существовавших дезинфекций, чтобы предотвратить двойное экранирование и т. Д.

Еще одно использование фильтра $ post-> – это функция get_sample_permalink (). Вы обнаружите, что он устанавливает $post->filter = 'sample' перед вызовом get_permalink (). Использование «sample» здесь указывает на функцию get_permalink и на код ниже этого, что целью этого вызова является создание образца постоянной ссылки для отображения на экране редактирования сообщений. Это изменит способ работы некоторых из нижеперечисленных функций.

@Shaan: Я не думаю, что Том искал описание WP Plugin API. Он ищет описание filter свойств объекта, которое вы получаете в результате WP_Query . Например, если вы используете get_posts() :

 stdClass Object ( // other post properties [filter] => raw ) 

Я не знаю, используется ли это свойство внутри WordPress. Оглядываясь в исходном коде, я думаю, что это нигде не используется.

Просто размышляю здесь. Значение по умолчанию для всех должностей пока недоступно. Может быть, основные разработчики хотели добавить фильтрацию на каждую почтовую базу. Например, если вы хотите разрешить только определенные элементы HTML внутри содержимого сообщения, вы можете создать фильтр sanitizeHtml , прикрепить его к сообщению, а WordPress сделает все остальное за вас.