_acf_query_remove_post_type()
_acf_query_remove_post_type
This function will remove the 'wp_posts.post_type' WHERE clause completely When using 'post__in', this clause is unneccessary and slow.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
$sql
.
Использование
_acf_query_remove_post_type( $sql );
- $sql (обязательный)
- -
Список изменений
С версии 5.1.5 | Введена. |
Код _acf_query_remove_post_type() acf query remove post type ACF 6.0.4
function _acf_query_remove_post_type( $sql ) { // global global $wpdb; // bail early if no 'wp_posts.ID IN' if ( strpos( $sql, "$wpdb->posts.ID IN" ) === false ) { return $sql; } // get bits $glue = 'AND'; $bits = explode( $glue, $sql ); // loop through $where and remove any post_type queries foreach ( $bits as $i => $bit ) { if ( strpos( $bit, "$wpdb->posts.post_type" ) !== false ) { unset( $bits[ $i ] ); } } // join $where back together $sql = implode( $glue, $bits ); // return return $sql; }