Listado de Categorías-Etiquetas y Posts ordenados text

                  <?php
// Obtener todas las categorías
$categories = get_categories();
// Obtener todas las etiquetas
$tags = get_tags();
// Recorrer cada categoría
foreach ($categories as $category) {

    // Obtener el link a la categoría
    $category_link = get_category_link($category->term_id);
    $categoryId = $category->term_id;
    // Imprimir el nombre de la categoría
    echo '<a href="' . esc_url($category_link) . '">' . $category->name . '</a>';
    foreach ($tags as $tag) {
        $args = array(
            'posts_per_page' => -1,
            'post_type' => 'post',
            'post_status' => 'publish',
            'tag_id' => $tag->term_id,
        );
        $posts = get_posts($args);
        $i = 0;
        $salida = "";
        foreach ($posts as $post) {
            $lacat = get_the_category($post->ID);
            if ($lacat[0]->term_id == $categoryId) {
                $salida .=  '<a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a><br>';
                $i++;
            }
        }
        ($i < 1) ? $enlaceTag = "" : $enlaceTag = '<ul><a style="text-decoration:underline" href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a><br>';
       echo   $enlaceTag . $salida . '</ul>';
    }
}
?>