Buscar término de taxonomía personalizada por nombre
Tengo una taxonomía personalizada llamada albums.
Necesito poder buscar el título del término de la taxonomía mediante texto, obviamente esto no es la búsqueda predeterminada de WP. Me pregunto ¿cuál sería la mejor manera de abordarlo?
Por ejemplo, si hay un álbum llamado 'Football Hits',
Empiezo a escribir 'foot' y lo busco, todo lo que necesito que aparezca es el título del álbum y su enlace permanente.
¡Gracias!

// Obtenemos una lista de taxonomías en el cuadro de búsqueda
function get_tax_by_search($search_text){
$args = array(
'taxonomy' => array( 'my_tax' ), // nombre de la taxonomía
'orderby' => 'id',
'order' => 'ASC',
'hide_empty' => true,
'fields' => 'all',
'name__like' => $search_text
);
$terms = get_terms( $args );
$count = count($terms);
if($count > 0){
echo "<ul>";
foreach ($terms as $term) {
echo "<li><a href='".get_term_link( $term )."'>".$term->name."</a></li>";
}
echo "</ul>";
}
}
// ejemplo
get_tax_by_search('Foo');

Así que definitivamente puedes buscar posts por el título de la taxonomía - personalizada o no. La respuesta estará en la parte de "tax_query" de WP_Query. Aquí tienes un ejemplo del Codex, adaptado a tus necesidades:
<ul>
<?php
global $post;
$album_title = $_GET['album-title'];
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'tax_query' => array( // NOTA: ¡array de arrays!
array(
'taxonomy' => 'albums',
'field' => 'name',
'terms' => $album_title
)
)
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata();?>
</ul>
ACTUALIZACIÓN
No he probado esto, pero en teoría, creo que podría funcionar. Para coincidir con cualquier cosa que contenga "foot":
<ul>
<?php
global $post;
$album_title = $_GET['album-title']; // digamos que el usuario ingresó 'foot'
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'tax_query' => array( // NOTA: ¡array de arrays!
array(
'taxonomy' => 'albums',
'field' => 'name',
'terms' => $album_title,
'operator' => 'LIKE'
)
)
);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata();?>
</ul>
¡Espero que esto ayude!

¡Gracias! Aunque necesito que sea más una búsqueda basada en el usuario. Así que el usuario escribiría la palabra "foot" y traería el álbum relevante "Football Hits"

Claro - solo cambia el título estático por una variable... Cómo obtienes ese valor de búsqueda del usuario ya depende de ti... He actualizado mi respuesta con una variación, como ejemplo...

Gracias MacPrawn, agradezco tu ayuda. Aunque seguramente lo anterior no cargaría los términos "Football Hits" si el valor de búsqueda es "foot". Tal vez estoy siendo tonto

Lo siento, me perdí la parte donde querías coincidencias parciales... He actualizado mi respuesta.

He probado lo anterior, pero lo que busco es que solo muestre el Título del Álbum relevante, no las publicaciones dentro de ese álbum. Es decir, no publicaciones categorizadas en Éxitos del Fútbol, sino literalmente solo el enlace permanente del álbum.

Ah, ya veo. En ese caso, sospecho que la respuesta de @TrubinE hará un mejor trabajo.
