obtener url / enlace del archivo de términos
He creado tipos de contenido personalizados y taxonomías personalizadas para estos.
Ejemplo: actors
(taxonomía) para movies
(tipo de contenido).
Ahora quiero mostrar en mi widget algunos términos y un enlace más
para el archivo de términos de actors
.
¿Cómo puedo obtener el enlace / url del archivo de taxonomía?

Usa get_term_link
Por ejemplo, para mostrar una lista de términos de actores con enlaces a sus archivos:
$terms = get_terms('actors');
echo '<ul>';
foreach ($terms as $term) {
echo '<li><a href="'.get_term_link($term).'">'.$term->name.'</a></li>';
}
echo '</ul>';
¡Sin embargo!
Si lo que realmente buscas es el equivalente del archivo de un tipo de contenido personalizado, que lista todas las entradas de ese tipo, pero para términos de taxonomía (por ejemplo, una página que actúe como archivo mostrando los distintos términos de taxonomía disponibles), entonces no hay suerte. WordPress no tiene archivos de taxonomía para términos, solo para entradas asignadas a un término específico.
Para crear una página que liste los términos de taxonomía, puedes usar código similar al anterior. Luego colócalo en una plantilla de página y usa esa página como tu archivo de términos de taxonomía.
La razón es que el problema está en el bucle de entradas (post loop). Casi todas las plantillas de página están diseñadas para tener uno, y si miras la jerarquía de plantillas, si no se encuentran las plantillas necesarias, todo vuelve a index.php, e index.php tiene un bucle de entradas que muestra posts, no un bucle de términos. Esto, junto con las muchas formas diferentes e ideas sobre cómo deberían listarse los términos, significa que no hay consenso. ¿Qué pasa con los archivos por fecha? ¿Debería haber un archivo que liste meses y años? ¿Líneas de tiempo? ¿Paneles, mosaicos, nubes, etc.?

El consejo que diste era lo que estaba buscando. Mi enfoque era usar una plantilla de página, pero parece ser una forma muy personalizada. Pero si no hay posibilidades para un archivo de taxonomía, tendré que implementarlo como sugeriste. Gracias

No la hay. El problema está en el bucle de publicaciones, casi todas las plantillas de página están diseñadas para tener uno, y si miras la jerarquía, si no se encuentran las plantillas necesarias, todo vuelve a index.php, e index.php tiene un bucle de publicaciones que muestra posts, no un bucle de términos.

No existe una forma sencilla de obtener esto mediante búsqueda. Y todos los que responden en todas partes piensan que quieres enlazar a un TÉRMINO en la TAXONOMÍA... Mientras que lo que buscas es obtener un enlace al ARCHIVO de la TAXONOMÍA... Para lo cual no he encontrado absolutamente nada.
Básicamente, como muchas personas, quieres un método get_taxonomy_archive_link
.
Excepto que, por una razón u otra, simplemente no existe. Considero esto un FALLO MAYOR por parte de WordPress.
No hay respuesta a tu pregunta. Ninguna que funcione realmente dentro del framework de WP como una solución adecuada. Claro, puedes armar algo con get_bloginfo()
para tus necesidades, pero no hay absolutamente ninguna razón lógica dentro de WP para que get_taxonomy_archive_link
no exista.
Dicho todo esto, siempre añado la siguiente función a mis temas:
/**
* Pasa un valor de taxonomía que sea compatible con `get_taxonomy` de WP
* y obtendrás la URL de la vista de archivo.
* @param $taxonomy string|int
* @return string
*/
function get_taxonomy_archive_link( $taxonomy ) {
$tax = get_taxonomy( $taxonomy ) ;
return get_bloginfo( 'url' ) . '/' . $tax->rewrite['slug'];
}

Parece que estás pidiendo un enlace a un archivo con "todas las publicaciones que tengan cualquier término de la taxonomía Actores". Todos aquí respondieron como si pidieras el enlace a un archivo de términos específico porque lo que preguntas no tiene sentido en el mundo de WordPress.
Me sorprende la respuesta de pixelbacon y el hecho de que tenga 6 votos positivos... Esa función retorna una URL que no lleva a ningún lado... WordPress no tiene forma de interpretar esa URL ni de hacer la consulta que tendría que estar detrás de esa solicitud.
En la base de datos, una Taxonomía tiene relaciones con los términos, y los términos tienen relaciones con las publicaciones. Una sola publicación no tiene relaciones con la taxonomía. Lo único que las conecta es el hecho de que un tipo de publicación puede soportar una Taxonomía.
Escribamos en palabras lo que intentas mostrar en esa página: "Muéstrame todas las publicaciones del post_type 'post', que tengan CUALQUIER término de la taxonomía Actores."
Esto básicamente se traduce a: "muéstrame todas las publicaciones del post_type 'post' (que soporta la taxonomía Actores)".
Por lo tanto, la única diferencia con un archivo general de post_type (mostrar todas las publicaciones de un post_type dado) sería SI tienes publicaciones que no tienen ningún término de Actor asignado y QUIERES excluirlas.
Si ese es el caso, entonces puedes crear una página personalizada, hacer una consulta genérica a todas las publicaciones, luego en el ciclo verificas si la publicación tiene algún término de Actores con wp_get_post_terms(get_the_ID(), 'actors')
, y eventualmente excluirla si no tiene ninguno.

El enlace de archivo para cualquier taxonomía sigue este patrón:
http://{siteurl}/{taxonomy}/{term}
Por ejemplo, la categoría "noticias" en "miwebdeblogs.com" tendría la siguiente URL de archivo:
http://miwebdeblogs.com/category/noticias
Así que el archivo para "Harrison Ford" en tu taxonomía actors
sería:
http://miwebdeblogs.com/actors/harrison-ford

¿entonces es posible usar http://{siteurl}/{taxonomy}
para el archivo de taxonomía?

Aún necesitas especificar el término dentro de la taxonomía para generar el archivo.

Esto no siempre es correcto. Un usuario puede cambiar la parte {taxonomy}
de esa estructura en los ajustes de enlaces permanentes. Por ejemplo, si tienes la categoría uncategorized
, la URL por defecto es http://{siteurl}/category/uncategorized
. Pero si cambias el category_base
en los ajustes de enlaces permanentes a topics
, por ejemplo, sería http://{siteurl}/topics/uncategorized
. Así que una fórmula más precisa para categorías sería http://{siteurl}/{get_option('category_base')}/uncategorized

usa get_term_link() :)
EDITADO:
Esto puede ser útil: enlace de archivo para la taxonomía: get_the_term_list(). Del codex:
Devuelve una cadena HTML de los términos de taxonomía asociados a una entrada y la taxonomía dada. Los términos están enlazados a sus respectivas páginas de listado de términos.
así que necesita estar vinculado a un ID de entrada, pero hace el trabajo de archivar los términos de taxonomía.

Cuando creas tu taxonomía personalizada, puedes añadir el atributo rewrite
a la misma. Este atributo puede establecer el slug de reescritura para tu taxonomía, el cual puedes usar para el enlace:
register_taxonomy('actors', 'movies', array(
// ...
'rewrite' => array( 'slug' => 'actors' ),
// ...
));
Así que para crear un enlace al archivo de la taxonomía puedes usar el siguiente patrón:
http://misitio.com/actors/nombre-del-actor
