2013-05-22 5 views
3

Good Day,Запросы WooCommerce

Я довольно новичок в WordPress и WooCommerce. Но я довольно разбираюсь в PHP и MySQL. Итак, мой вопрос в том, как я могу сделать конкретный запрос для WooCommerce, где я могу указать его на конкретную мета. Например, если бы я хотел сделать запрос для вызова всех разных категорий в WooCommerce> , я бы обычно называл это следующим образом;

$args = array(
      'number' => 'null', 
      'orderby' => 'name', 
      'order' => 'ASC', 
      'columns' => '4', 
      'hide_empty' => '1', 
      'parent' => '', 
      'ids' => '' 
) 

Ok так, что бы мой вопрос, что теперь я так борюсь с то, что мне делать с ним теперь? Потому что в этой части есть то, что показывают все, никто не говорит вам или не показывает, как на самом деле использовать запрос или с чего начать. Я использовал базовую функцию запроса WP, но тогда только те категории, которые я получаю, поступают из WP и WC. Итак, как я могу указать его прямо на WC? Кроме того, эти крюки меня так раздражают. Итак, как я могу сделать это обычным способом, минуя функции WC и WP и построить свой собственный запрос;

$query = "SELECT * FROM wc_categories"; 
$result = mysql_query($query); 
$temp_array = mysqli_fetch_array($result); 

То есть, как я хотел бы сделать это, Потому что никто не объясняет крючки и как использовать его, или изменить его, каждый предполагает, что вы про-Литое, когда он пришел к наследственной РГ выработок ,

Так что, если кто-то может указать мне в правильном направлении, я бы очень признателен. И я бы долго тебя любил, если бы вы могли объяснить мне, как это сделать, потому что это мой предпочтительный способ.

С наилучшими пожеланиями, DK

ответ

3

Создание запроса с использованием стандартного Wp/туалет функции легко. Например, если вы хотите получить информацию о клиенте для определенных заказов. Необходимые коды могут выглядеть следующим образом (обратите внимание на глобальную функцию):

global $post, $woocommerce, $the_order; 
if (empty($the_order) || $the_order->id != $post->ID) 
    $the_order = new WC_Order($post->ID); 

$user_info = get_userdata($the_order->user_id); 
$biling_email = $the_order->billing_email; 
$phone_no = $the_order->billing_phone; 

Если вы хотите запросить мета настраиваемого поля заказа, вы можете использовать что-то вроде кода ниже. Вы должны знать пользовательское имя поля в базе данных:

$custom_field = get_post_meta($post->ID, 'custom_field', true); 

Для пользовательского запроса необходимо инициализировать глобальную функцию wpdb первого добавления глобальной функции $ wpdb до вашего запроса. Даже это будет работать только с WP-страницей, оно не будет работать со страницей, созданной за пределами WP. Ниже приведен пример:

global $wpdb 

$table = $wpdb->prefix . 'postmeta'; //Good practice 
$orderno = $wpdb->get_results("SELECT * FROM $table");