web-dev-qa-db-fra.com

Comment puis-je lister les catégories de l'auteur actuel?

Mon code permet aux auteurs d’écrire des catégories de publications écrites, mais 2 ID seulement correspondent à la catégorie des listes d’auteurs. Je remplace $current_user->ID, mais cela n’a pas fonctionné.

<?php
    $categories = $wpdb->get_results("
        SELECT DISTINCT(terms.term_id) as ID, terms.name, terms.slug
        FROM $wpdb->posts as posts
        LEFT JOIN $wpdb->term_relationships as relationships ON posts.ID = relationships.object_ID
        LEFT JOIN $wpdb->term_taxonomy as tax ON relationships.term_taxonomy_id = tax.term_taxonomy_id
        LEFT JOIN $wpdb->terms as terms ON tax.term_id = terms.term_id
        WHERE 1=1 AND (
            posts.post_status = 'publish' AND
            posts.post_author = '2' AND
            tax.taxonomy = 'category' )
        ORDER BY terms.name ASC
    ");
    ?>
    <ul>
        <?php foreach($categories as $category) : ?>
        <li>
            <a href="<?php echo get_category_link( $category->ID ); ?>" title="<?php echo $category->name ?>"><?php echo $category->name ?></a>
        </li>
        <?php endforeach; ?>
    </ul> 
2
Genxer

essayez quelque chose comme ça ...

vous devez d'abord appeler global $post;

puis obtenez l'identifiant de l'auteur comme $author_id = $post->post_author;

2
Reigel