Wordpress Заголовок Числовая Функция Сортировки - PullRequest
0 голосов
/ 15 марта 2012

Узнал эту функцию от парня Уткарша Кукрети, здесь http://www.fldtrace.com/wordpress/custom-post-types-numeric-title-order

Отличное решение, оно работает для одной из моих категорий, которая содержит такой же формат заголовка (например, Bla 1, Bla 2 ...), но оно не сработало с моей другой категорией только с алфавитами и / или миксами число.

Мой вопрос: что здесь означает (wp_posts.post_title + 0)?

function orderby_post_title_int( $orderby ) { 
    return '(wp_posts.post_title+0) ASC'; 
}

1 Ответ

0 голосов
/ 15 марта 2012

Это предложение (в конце концов) передается и интерпретируется MySQL.wp_posts.post_title - текстовое поле в базе данных.Добавление 0 заставляет MySQL попытаться интерпретировать результат как число.

Например,

select '9' + 0;

возвращает (число) 9, а

select '12' + 0;

возвращает(число) 12. Если бы MySQL сортировал значения как текст, он поместил бы 12 перед 9 (в алфавитном порядке).Когда значения преобразованы в числа, они сортируются по мере необходимости (от 9 до 12 в числовом порядке).

Обратите внимание, что MySQL преобразует как можно большую часть начала строки в число, поэтому

select '2abc' + 0;

возвращает 2, но

select 'abc2' + 0;

возвращает 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...