get_posts - ऑथर आईडी द्वारा सभी पोस्ट प्राप्त करें


11

मैं कुछ लेखक आईडी (वर्तमान उपयोगकर्ता) द्वारा सभी पोस्ट प्राप्त करना चाहता हूं। बाद में, मैं इस उपयोगकर्ता (एएससी) द्वारा बनाई गई पहली पोस्ट चुनना चाहता हूं। मुझे लगता है कि मैं get_posts में सही तर्कों का उपयोग नहीं कर रहा हूं, क्या मैं हूं? $ current_user_posts में हमेशा अलग-अलग WP_Post ऑब्जेक्ट्स में सभी ब्लॉग पोस्ट के साथ एक Array होता है।

global $current_user;
get_currentuserinfo();                      

$args = array(
    'author'        =>  $current_user->ID, // I could also use $user_ID, right?
    'orderby'       =>  'post_date',
    'order'         =>  'ASC' 
    );

// get his posts 'ASC'
$current_user_posts = get_posts( $args );

1
get_currentuserinfo () संस्करण 4.5.0 के बाद से हटा दिया गया है। इसके साथ बदलें:$current_user = wp_get_current_user();
क्रिश्चियन लेस्क्यूयर

जवाबों:


19

मैं थोड़ा उलझन में हूँ। यदि आप पोस्ट एरे से केवल एलीमा तत्व प्राप्त करना चाहते हैं, तो आप इसे इस तरह प्राप्त कर सकते हैं:

  • रीसेट ($ current_user_posts) - पहली पोस्ट
  • अंत ($ current_user_posts) - अव्यक्त पोस्ट

लेकिन अगर आप केवल एक पोस्ट प्राप्त करना चाहते हैं तो आप परिणामों को सीमित करने के get_posts()लिए posts_per_pageतर्क का उपयोग कर सकते हैं ।

$args = array(
    'author'        =>  $current_user->ID,
    'orderby'       =>  'post_date',
    'order'         =>  'ASC',
    'posts_per_page' => 1
    );

WP क्वेरी क्लास संदर्भ पृष्ठ पर आपको मिलने वाले मापदंडों के बारे में अधिक जानकारी ( get_posts()WP क्वेरी के समान पैरामीटर लेता है)।


1
आपके $ args ठीक काम करते हैं, लेकिन मुझे आपका पहला जवाब नहीं मिलता है। $ Current_user_posts का उपयोग कैसे करें। क्या तुम मुझे दिखा सकते हो?
थोड़े से

यदि आप पहली पोस्ट का शीर्षक प्रिंट करना चाहते हैं, जिसका आपको उपयोग करना चाहिए echo $current_user_posts[0]['title']:। 'शीर्षक' आपको सरणी से क्या चाहिए इसकी कुंजी है। आपके द्वारा प्राप्त की जा सकने वाली कुंजियों की पूरी सूची print_r(array_keys($current_user_posts))। "कैसे उपयोग करें" यह इस बात पर निर्भर करता है कि आप इसके साथ क्या करना चाहते हैं।
मारिन बोंज़ारी

लेखक की पहली पोस्ट की आईडी प्राप्त करें
kindo

आप आईडी प्राप्त कर सकते हैं: $ current_user_posts [0] ['आईडी']
Marin Bînzari

@ मानवता, क्या इससे मदद मिली? क्या आपको इसका जवाब चाहिए?
मारिन बोंज़ारी

6
global $current_user;                     

$args = array(
  'author'        =>  $current_user->ID, 
  'orderby'       =>  'post_date',
  'order'         =>  'ASC',
  'posts_per_page' => -1 // no limit
);


$current_user_posts = get_posts( $args );
$total = count($current_user_posts);

और बस वर्तमान उपयोगकर्ता पोस्ट को लूप करें


क्या आप यह भी बता सकते हैं कि कोड को पोस्ट करने के लिए उपरोक्त कोड क्या करता है, यह मददगार होगा, धन्यवाद
bravokeyl

1

इसके द्वारा (wp4.9.7) काम

 $user_id = get_current_user_id();
 $args=array(
 'post_type' => 'POSTTYPE',
 'post_status' => 'publish',
 'posts_per_page' => 1,
 'author' => $user_id
  );

$current_user_posts = get_posts( $args );
$total = count($current_user_posts);
wp_die( '<pre>' .  $total . '</pre>' );
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.