2015-07-08 2 views
1

У меня есть таблица под названием wp_pp_seller, и там у меня разные столбцы, две из которых - user_id и credits. Я пытаюсь создать короткий код в function.php в дочерней теме.Wordpress Shortcode with Select from table синтаксическая ошибка

Мой код выглядит следующим образом:

function custom_shortcode() 
{ 
    global $wpdb; 
    $credits = $wpdb->get_results("SELECT {$credits} * FROM {$wp_pp_seller} WHERE user_id=current_user_id"); 
    mysql_query($credits); 
    echo "<p>, {$credits} creditos</p>"; 
} 

add_filter('init', 'add_custom_shortcode'); 

function add_custom_shortcode() 
{ 
    add_shortcode('pp_credits', 'custom_shortcode'); 
} 

Что я делаю неправильно?

ответ

0

Не то, чтобы я поощрять прямые запросы к базе данных, но я уверен, что вы не послали к базе данных текущего идентификатора пользователя, как вы думаете:

$current_user = wp_get_current_user(); 
$credits = $wpdb->get_results("SELECT {$credits} * FROM {$wp_pp_seller} WHERE user_id=$current_user->ID") 
0
$current_user = wp_get_current_user(); 
$credits = $wpdb->get_results("SELECT {$credits} * FROM {$wp_pp_seller} WHERE user_id=" . $current_user->ID) 
+0

Хороший ответ. Я думаю, вы поняли это правильно. * Off-Topic * мой любимый учитель JavaScript назван Томас Уилберн –

+0

У нас был тот же ответ. HA HA Смешно! –

0

Попробуйте этот код

function custom_shortcode() { 

     global $wpdb; 
     $user_id = get_current_user_id(); 
       $credits = $wpdb->get_var("SELECT {$credits} * FROM {$wp_pp_seller} WHERE user_id=".$user_id);   

       echo "<p>, ".$credits." creditos</p>"; 

    } 

    add_filter('init', 'add_custom_shortcode'); 

    function add_custom_shortcode() { 
     add_shortcode('pp_credits', 'custom_shortcode'); 
    } 

Вы можете использовать $wpdb->last_error для печати ошибки mysql. так что вы можете отслеживать mysql error

Смежные вопросы