Como estaba trabajando en un tema premium que enviaré a ThemeForest la próxima semana, quería permitir que los usuarios seleccionaran su página de cartera (que se basa en una plantilla de página) desde un menú desplegable en el panel de administración para que se muestre en las migas de pan de las publicaciones de una sola cartera. Algo que es excelente para la usabilidad y el SEO, pero un poco complicado de hacer.
Básicamente, tengo que almacenar todas las páginas de WordPress en una matriz y luego permitir que el usuario seleccione fácilmente una de un menú desplegable. El problema es que cuando un usuario selecciona uno, el resultado de esa opción se convierte en el título de la página, no en la URL, el Slug o el ID. Entonces, al hacer una pequeña búsqueda en Google, encontré una pequeña función agradable y la modifiqué un poco para que le permita obtener el enlace permanente de cualquier página solo en función del título de la página.
Obtener enlace permanente de la función de título de página de WordPress
Copie y pegue la siguiente función en su archivo functions.php:
// get permalink by title function get_page_permalink_from_name($page_name) { global $post; global $wpdb; $pageid_name = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_title="" . $page_name . "" LIMIT 0, 1"); return get_permalink($pageid_name); }
Ahora use el siguiente método para repetir el enlace permanente para el nombre de la página deseada:
<?php echo get_page_permalink_from_name('YOUR PAGE NAME'); ?>