Knowledge Base

¿Qué es esto?

Wordpress: Crear un campo select que muestre valores dinámicamente a partir de un shortcode con cred

13/07/2015 - 25/02/2019 -  Comentarios - Wordpress Types/cred Cred

Declararíamos un campo genérico que quedaría de la siguiente manera:

[cred_generic_field field="project" type="select" class="" urlparam=""]
{
    "required":0,
    "validate_format":0,
    "persist":0,
    "default":[],
    "options":[[get_projects_cred_form]]
}
[/cred_generic_field]

La función que devolvería los valores quedaría de la siguiente manera  get_projects_cred_form es el shortcode que devolverá los valores y que hemos esepecificado en el apartado options arriba:

function getProjectsCredForm()
{
    // Select the ID and Name of every existing project
    global $wpdb;
    $vProjects = $wpdb->get_results("SELECT id, name FROM wp_bp_projectes ORDER BY name ASC", OBJECT);

    if(!empty($vProjects))
    {
        $vReturnProjects = array();
        foreach ($vProjects as $vOption)
        {
            $vProjectID = $vOption->id;
           $vProjectName = $vOption->name;
            array_push($vReturnProjects, array('value'=>$vProjectID,'label'=>$vProjectName));
        }

        $vReturnProjects = json_encode($vReturnProjects);
    }
    return $vReturnProjects;
}
add_shortcode( 'get_projects_cred_form', 'getProjectsCredForm' );