Hola espero que todos estén bien, quiero agregar en la página de Mi Cuenta aparte de todo lo que trae una opción que diga Mis Cursos para que las personas puedan acceder a los cursos que compren desde su cuenta. Esto imagino que lo puedo hacer, quizás con CCS, pero no sé cómo por eso es que me dirijo aquí a ustedes y no solo es que quiero agregarlo, sino que también al agregarlo, pues me quede debajo de la opción de Pedidos.
Aquí les adjunto una imagen de la página de Mi Cuenta para que entiendan lo que les planteo, aunque yo sé que ustedes saben de lo que les hablo mejor que yo.
Sin mas y en espera como siempre de su pronta respuesta,
Saludos
Eduardo
Contenido solo visible a usuarios registrados
Hola Eduardo,
Este tipo de configuraciones no podemos agregarlas con CSS, deben añadirse con código personalizo, ya que se debe modificar la plantilla. Usualmente, el plugin de LMS o integración que WooCommerce añadiría esto; sin embargo, algunos plugin pueden no considerarlo necesario.
Lo que sí se puede hacer es cambiar el nombre de la pestaña Pedidos a Mus cursos ya que en teoría es lo que estarían comprando, para cambiar título de esta pestaña puedes añadir el siguiente codigo en el function.php de tu tema o con un plugin como code snippets
function translate_any_text_wp( $translated_text ) {
if ( 'Pedidos' === $translated_text ) {
$translated_text = 'Mis cursos';
}
return $translated_text;
}
add_filter( 'gettext', 'translate_any_text_wp', 20 );
Por otro lado, si lo que deseas es añadir una nueva pestaña como tal indícanos cuál es el plugin de cursos que tienes y cuál es el plugin de WooCommerce para su integración, de esta forma podemos revisarlo con mayor detalle.
Un Saludo
@karen Bueno estoy usando el plugin LearnDash Pro y si como dicen me sale en la seccion de pedidos el pedido que realice pero solo lo que ahi muestra es la factura del curso pero no el acceso al curso, que es lo que realmente necesito.
Saludos
Eduardo
Se me olvido poner el plugin de integracion con woocomerce es este: LearnDash LMS - WooCommerce Integration
Hola Eduardo,
Actualmente no veo una forma sencilla de hacerlo, una opción es configurando la página de mi cuenta como deseas y añadiendo esta pestaña, para ello puedes utilizar algún plugin como
→ Customize My Account for WooCommerce
Con el puedes añadir un endpoint y luego añadir el shortcode el id profile de learndash para mostrar la información del usuario
[ld_profile]
Tienes información de todos los shortcodes en su documentación oficial
Revisa si con ello puedes añadir lo que necesitas
Un Saludo
@karen Hola yo le hice esta conculta a chat gpt y el me creo este codigo al cual me riento que debia de hacerles algunos cambios adecuandolo a mi necesidad. Este fue el codigo que me genero:
// Agregar pestaña de "Mis cursos" en la página de la cuenta de WooCommerce
function agregar_pestana_mis_cursos() {
$current_user = wp_get_current_user();
$customer_id = $current_user->ID;
$has_courses = learndash_user_has_access($customer_id);
if ($has_courses) {
$count = learndash_user_get_enrolled_courses_count($customer_id);
$label = sprintf(__('Mis Cursos (%d)', 'text-domain'), $count);
echo '<li class="woocommerce-MyAccount-navigation-link woocommerce-MyAccount-navigation-link--mis-cursos"><a href="' . esc_url(wc_get_endpoint_url('mis-cursos', '', wc_get_page_permalink('myaccount'))) . '">' . esc_html($label) . '</a></li>';
}
} add_filter('woocommerce_account_menu_items', 'agregar_pestana_mis_cursos');
// Agregar endpoint para "Mis cursos"
function agregar_endpoint_mis_cursos() {
add_rewrite_endpoint('mis-cursos', EP_PAGES);
}
add_action('init', 'agregar_endpoint_mis_cursos');
// Mostrar contenido de "Mis cursos"
function mostrar_contenido_mis_cursos() {
echo '<div class="woocommerce-MyAccount-content">';
// Agregar aquí el contenido que deseas mostrar para "Mis cursos"
echo '</div>';
} add_action('woocommerce_account_mis-cursos_endpoint', 'mostrar_contenido_mis_cursos');
Y esto fue lo que me puso despues de generarme el codigo:
Este código agrega una nueva pestaña llamada "Mis Cursos" debajo de la pestaña de "Pedidos" en la página de la cuenta de WooCommerce. Asegúrate de personalizar el contenido de la función `mostrar_contenido_mis_cursos()` para mostrar la información específica de tus cursos utilizando las funciones proporcionadas por el plugin LearnDash.
En fin lo comparto cotigo porque se que tu podrs decirme si este codigo lo puedo emplear o no asi como tambien rectificar cualquier detalle que tenga y hasta lo que GPT me sugiere.
Saludos
Eduardo
Hola Eduardo,
En este caso debes probarlo, si bien puede ser util este tipo de herramientas algunas veces no son compatibles por uno que otro plugin que tengamos activos que hagan que no se vea o funcione como deseamos, en este caso puedes agregarlo con un plugin:
https://es.wordpress.org/plugins/code-snippets/
Al agregarlo con este puedes en caso de que genere un error revertir el codigo sin problemas.
Un saludo 🖐️
@argenis Y no necesita ningun cambio tal y como el me lo sugiere lo pongo por que GPT me dice esto al final:
Este código agrega una nueva pestaña llamada "Mis Cursos" debajo de la pestaña de "Pedidos" en la página de la cuenta de WooCommerce. Asegúrate de personalizar el contenido de la función `mostrar_contenido_mis_cursos()` para mostrar la información específica de tus cursos utilizando las funciones proporcionadas por el plugin LearnDash.
Por otro lado al copiarlo aqui pues creo que perdio un poco sus espacios y todo como estaba el original
Saludos
Eduardo
Hola Eduardo,
En este caso tendrías que copiarlo nuevamente de ese chat que hiciste la solicitud, con respecto a la depuración no podemos indicarte exactamente que hacer, puesto que sería una modificación a medida para tu página y desde foro no podemos hacer esto.
De forma general te comento que hace un llamado a ajustes que tengas en learndash_user, por lo que entiendo que mostrara los cursos, ya tendrías que probarlos de igual forma ya hay plugins que hacn lo que buscas, un ejemplo de ello el que te compartió Karen:
Customize My Account for WooCommerce
Incluso te indico que shortcode utilizar:
[ld_profile]
Un saludo 🖐️
@argenis hola nuevamente mira encontre en youtube un viedo con los codigos para usar y ya probe la primera parte y me funciono pero la segunda parte no me funciona les pongo aca el codigo por parte:
Agregar la pestaña Mis Cursos este es el codigo:
function custom_my_account_menu_items( $items ) {
$items = array(
'dashboard' => __( 'Escritorio', 'woocommerce' ),
'orders' => __( 'Pedidos', 'woocommerce' ),
'mis-cursos' => __( 'Mis Cursos', 'woocommerce' ),
'downloads' => __( 'Descargas', 'woocommerce' ),
'edit-address' => __( 'Direcciones', 'woocommerce' ),
'payment-methods' => __( 'Métodos de pago', 'woocommerce' ),
'edit-account' => __( 'Detalles de la cuenta', 'woocommerce' ),
'customer-logout' => __( 'Salir', 'woocommerce' ),
);
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'custom_my_account_menu_items' );
Hasta ahi todo bien si entran a la pagina pueden ver que ya aparece la pestaña de mis cursos, ahora bien el segundo codigo es para poder vincular la pagina de perfil de Learndash a esta pestaña pero esta parte del codigo es la que no me esta funcionando aqui se los dejo
function custom_my_account_endpoints() {
add_rewrite_endpoint( 'custom-tab', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'custom_my_account_endpoints' );
function custom_tab_content() {
if( ! is_user_logged_in() ) {
return;
}
$custom_tab_page_id = YOUR_PAGE_ID;
$page = get_post( $custom_tab_page_id );
if ( $page ) {
echo apply_filters( 'the_content', $page->post_content );
}
}
add_action( 'woocommerce_account_custom-tab_endpoint', 'custom_tab_content' );
El id de la pagina que quiero que me abra cuando den en la pestaña es la del perfil y la misma es 4666 se lo pongo pero no me funciona.
Saludos
Eduardo
Hola eduardo,
Puedes indicarnos donde lo estás agregando, según lo que veo en ese código que compartes iría aquí:
$custom_tab_page_id = YOUR_PAGE_ID;
Quedando de la siguiente forma:
$custom_tab_page_id = 4666;
Es asi? si nos pasas una captura podemos ver como lo has modificado.
Un saludo 🖐️
@argenis Así lo hice pero es que ese código se me olvidó decirles que era el del ejemplo del video que la pestaña que estaba agregando el ahí era: custom_tab y entonces ahí viene mi duda yo lo puse así como ustedes indican sin hacer ningún cambio después donde quiera que decía custom_tab lo sustituí por mis_cursos y tampoco funcionó pero quizás no hay que quitarlos todos y solo algunos. No se.
Hola Eduardo,
Siempre que trabajas con un código personalizado lo mejor es instalarlo tal cual y luego ir haciendo los ajustes, es más fácil ver si tal cual lo ofrecen funciona. Verifica primero de esa forma. También haces referencia que es donde nosotros indicamos? no te hemos indicado más allá del ajuste en el ID.
Creo que te lo hemos comentado en otras ocasiones, pero instalar plugins no es malo como tal, no hay que reinventar la rueda, solo hay que estar pendientes si los plugins comienzan a consumir muchos recursos.
Un saludo 🖐️
@argenis el problema con el plugins es que si lo instale lo puse me permitio hacerlo pero a la hora de la visualizacion se vea pesimo cuando abria la pagina lo voy a instalar nuevamente y les voy a avisar para que entre y lo visualicen. Para mi es mucho mejor el plugin pero no me gusto como muestra la pagina.
Hola bueno lo volvi a hacer ahora una vez mas y ahora si me lo hizo perfectamente y me sale bien todo gracias por todo una vez mas. voy a crear otro ticket porque tengo otra situacion que no se porque esta sucediendo. este ya pueden darlo por concluido.