Obtener el slug del término del post actual
Estoy trabajando en una plantilla de tipo de post individual donde muestro un menú de navegación con enlaces a todas las entradas del mismo término.
Ahora quiero usar esta plantilla para todos los diferentes términos así que $term_slug necesita contener el slug del término del post actual para que pueda corresponder con los otros posts.
He encontrado muchas veces en internet este código para hacer el trabajo pero no funciona para mí:
$terms = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$term_slug = $term->slug;
Este artículo dice que esto haría el trabajo: http://www.wpbeginner.com/wp-themes/how-to-show-the-current-taxonomy-title-url-and-more-in-wordpress/
¿Qué estoy haciendo mal?
$args = array(
'post_type' => 'myposttype', // tipo de post personalizado
'mytaxonomy' => $term_slug, // taxonomía personalizada
'order' => 'ASC' // ordenar ascendentemente
);
$current_id = get_the_ID();
$the_query = new WP_Query( $args );
if($the_query->have_posts() ) {
while ($the_query->have_posts()) { $the_query->the_post();
echo '<li><a' . ($current_id == $post->ID ? ' class="current"' : '') . ' href=" ' . get_permalink() . ' ">' . get_the_title() . '</a></li>';
}
}

Tu código funciona en una página donde se consulta un término (un archivo de términos de taxonomía), no en una entrada individual.
Para una entrada individual, necesitas obtener los términos que pertenecen a esa entrada.
$terms = get_the_terms( $post->ID, 'tu-taxonomia' );
if ( !empty( $terms ) ){
// obtener el primer término
$term = array_shift( $terms );
echo $term->slug;
}

¡Solución increíble! Intenté usar la documentación para obtener todos los términos pero no tuve éxito. ¿Conoces alguna forma de hacer eso? http://codex.wordpress.org/Function_Reference/get_term

No necesitas un bucle for.
$slugs = wp_get_post_terms($post_id,'your-taxonomy',['fields'=>'slugs']);
$slugs
será un array de slugs de your-taxonomy
que están asignados al post con $post_id
Fuentes:
