Soporte » Plugins y Hacks » Cómo usar un shortcode de un plugin en otro plugin?

  • michell26

    (@michell26)


    Hola, saludos a todos. No sé si me puedan ayudar o si es posible hacer esto, pero desconozco del tema, asi que me atrevo a preguntar.

    He creado una pagina web que más que nada ofrece el servicio de casillero en Miami, asi que las personas cuando se registran, automaticamente le llega un correo con la información de su casillero y automaticamente en este correo se le genera un código de casillero, esto lo hago mediante el plugin Easy Registration Forms

    Este plugin me da un shortcode tag {{unique_id}} que pues básicamente lo pongo en el correo de registro para que le genere de forma automática el código de casillero a mis clientes.

    Ahora el problema es que he creado un panel de usuario, personalizandolo con el plugin YITH WooCommerce Customize My Account Page, donde mis clientes pueden entrar a su panel y ver diversa información, pero quiero que en una de las secciones el cliente pueda ver su dirección de casillero en Miami con su código de casillero que le fue generado anteriormente. Pero, el shortcode {{unique_id}} ya no funciona si lo pongo en este otro plugin. ¿Cómo puedo hacer para que le muestre su código de casillero ahora en este plugin o es posible simplificar todo esto de otra forma con un único plugin?

    Agradecida con cualquier ayuda que me puedan brindar y disculpen si parece una tonteria, pero no soy muy experta en el tema.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador almendron

    (@almendron)

    No puedes poner sin más el shortcode. Tienes que buscar en el plugin original como está construido y luego pasar toda la función al archivo functions.php del tema activo a tu plugin personalizado. Hecho esto, ya podrás poner el shortcode donde quieras.

    Iniciador del debate michell26

    (@michell26)

    Se escucha facil, pero en la práctica no sé que tan fácil sea. No sé cuál es el código que debo pasar del plugin original al plugin perzonalizado!

    Moderador almendron

    (@almendron)

    En alguna parte del código del plugin tendrás una función que acaba en «add_shortcode».

    https://ayudawp.com/que-son-los-shortcodes-y-como-crearlos/

    Iniciador del debate michell26

    (@michell26)

    Hola, despues de mucho buscar encontre el codigo del shortcode que necesito:

    function erforms_short_tags($form, $submission) {
        $short_tags = array();
        $registration_html = '';
    
        if (!empty($submission['unique_id'])) {
            $short_tags['{{unique_id}}'] = $submission['unique_id'];
            $registration_html = '<div>' . __('Unique Submission ID', 'erforms') . ': ' . $submission['unique_id'] . '</div><br>';
        }
        foreach ($submission['fields_data'] as $field) {
            if (empty($field['f_label']))
                contnue;
            if (is_array($field['f_val'])) {
                $field['f_val'] = implode(',', $field['f_val']);
            }
            if ($field['f_type'] == 'file' && !empty($field['f_val'])) {
                if (wp_attachment_is_image($field['f_val'])) {
                    $field['f_val'] = '<a target="_blank" href="' . esc_url(erforms_get_attachment_url($field['f_val'],$submission['id'])) . '">' . __('View File', 'erforms') . '</a>';
                } else {
                    $url = erforms_get_attachment_url($field['f_val'],$submission['id']);
                    $field['f_val'] = '<a target="_blank" href="' . esc_url($url) . '">' . __('View File', 'erforms') . '</a>';
                }
            }
            $short_tags['{{' . $field['f_label'] . '}}'] = $field['f_val'];
            $registration_html .= '<div>' . $field['f_label'] . ': ' . $field['f_val'] . '</div> <br>';
        }

    Pero si copio eso tal cual al otro plugin donde lo necesito, mi página deja de funcionar. Supongo que no sé puede copiar asi tal cual, he estado investigando un poco y tambien segun leí en el link que me enviaste, si quiero usar el shortcode de un plugin existente, lo que puedo hacer es crear un plugin de funciones y pegar el siguiente código:

    //Crear shortcode de una función existente en otro plugin
    if ( ! function_exists('nombre_de_funcion') )
    {
    add_shortcode('nombre_de_shortcode', 'nombre_de_funcion');
    }

    Pero no estoy segura exactamente de como rellenar este código, podrian ayudarme?

    Moderador almendron

    (@almendron)

    Eso no es un shortcode sino una función propia del plugin que no puedes copiar y pegar en otro sitio.

    Si quieres esa función en concreto, es mejor que contactes con un profesional.

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Cómo usar un shortcode de un plugin en otro plugin?’ está cerrado a nuevas respuestas.