i have create shortcode that work but not perfect coding

Question

I want create shortcode where content display if user meta equal a value

Work but coding not perfect

how would you have done ?

If necessary, how to improve?

Example content display if firstname user is Jeff

[check-if-equal usermeta=”firstname” uservalue=”Jeff”] Yes [/check-if-equal]

<?php
function func_check_if_equal( $atts, $content = null ) { 
if ( is_user_logged_in() ) { /* check if logged in */

        $user_meta = $atts['usermeta'];
    $user_value = $atts['uservalue'];



    /* get value from shortcode parameter */
    $user_id = get_current_user_id(); /* get user id */
    $user_data = get_userdata( $user_id ); /* get user meta */
    if ( $user_data->$user_meta == $user_value ) { /* if user meta is equal meta value */
        return $content; /* show content from shortcode */
    } else { return ''; /* meta field don't equal */ }
 } else {
    return ''; /* user is not logged in */
 }
} add_shortcode( 'check-if-equal', 'func_check_if_equal' );

Thx

0
Olivier 3 years 2020-09-02T08:10:25-05:00 0 Answers 59 views 0

Leave an answer

Browse
Browse