0

I'm trying to get category list by specified first character.

For example if specified character query is "A", then just wanna list categories start with "A".

How is it possible?

1
global $wpdb; // In case it's in a function...
$parent = 0; // Change to dig deeper in tree
$wpdb->query(
<<<SQL
    SELECT
        t1.`term_id`, /* The ID */
        t1.`name`, /* The name */
        t1.`slug`, /* The slug */
        t2.`parent`, /* The parent ID */
        t2.`count` /* The item Count */
    FROM
        {$wpdb->terms} AS t1,
        {$wpdb->term_taxonomy} AS t2
    WHERE
        (t1.`term_id` = t2.`term_id`) /* Join tables on term_id */
        AND (t2.`taxonomy` = 'category') /* Make sure we get category taxonomy */
        /* Change parent (remove) according to your needs to dig deeper */
        AND (t2.`parent` = {$parent}) /* Remove to get all, not just top level */
        /* Remove the BINARY for case-insensitive comparison (both A and a) */
        AND (t1.`name` LIKE BINARY 'A%');
SQL
);

Follow the comments.

Regards.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.