2013-08-06 5 views
7

मैं बच्चे पृष्ठों की सूची देखने के लिए कुछ विवरण के साथ नाम प्रदर्शित करने के लिएWP_Post वस्तु

$my_wp_query = new WP_Query(); 
$all_wp_pages = $my_wp_query->query(array('post_type' => 'page')); 
// Get the page as an Object 
$portfolio = get_page_by_title('service'); 
// Filter through all pages and find Portfolio's children 
$portfolio_children = get_page_children($portfolio->ID, $all_wp_pages); 
// echo what we get back from WP to the browser 
echo "<pre>";print_r(
); 

foreach($portfolio_children as $pagedet): 

     echo $pagedet['post_title']; 


endforeach; 

मैं सरणी हो रही है foreach

when i print $portfolio_children iam getting out put like this 
Array 
(
[0] => WP_Post Object 
    (
     [ID] => 201 
     [post_title] => Website Hosting 
    ) 
    [1]=> WP_Post Object 

     (
       [ID] => 202 
     [post_title] => Website 
    ) 
उपयोग करने से पहले ..i कोड के नीचे का उपयोग कोशिश कर रहा था से शीर्षक प्राप्त करने के लिए कैसे

foreach के बाद अगर मैं प्रिंट $ pagedet iam हो रही

WP_Post Object 
    (
     [ID] => 201 
     [post_title] => Website Hosting 
    ) 

मैं $ pagedet [ 'POST_TITLE'] कॉल करने के लिए, लेकिन आईडी शामिल नहीं है displ की कोशिश की अरे कोई बात ... अग्रिम धन्यवाद

+5

आप एक वस्तु किसी अन्य दुकान से साहचर्य सरणी संकेतन का उपयोग कर रहे बजाय। आपको कॉल करना चाहिए: '$ pagedet-> post_title' – Matanya

+2

इस 'echo $ pagedet-> post_title' को लूप में आज़माएं –

उत्तर

7

बस यह सुनिश्चित करने के लिए, आपको प्रत्येक पृष्ठ डेटा को कॉलम नाम के रूप में उपयोग करना चाहिए।

उदाहरण के लिए,

$page_data->post_content //is true, 
$page_data->the_title // is false. 
3

यह मेरे नोट्स से है कि मैं आपकी सटीक स्थिति के साथ काम कर रहा हूं। आशा करता हूँ की ये काम करेगा।

<?php 

    $my_wp_query = new WP_Query(); 
    $all_wp_pages = $my_wp_query->query(array('post_type' => 'page', 'posts_per_page' => -1)); 

    $childpg = get_page_children(8, $all_wp_pages); 

    foreach($childpg as $children){ 
     $page = $children->ID; 
     $page_data = get_page($page); 
     $content = $page_data->post_content; 
     $content = $page_data->the_title; 
     $content = apply_filters('the_content',$content); 
     $content = str_replace(']]>', ']]>', $content); 
     echo '<div class="row-fluid"><span class="span4">'; 
     echo get_the_post_thumbnail($page); 
     echo '</span><span class="span8">'.$content.'</span></div>'; 
    } 
    ?> 
1

इस एक कोशिश करें। सिर्फ विचार दे रहा है।

<?php 
    $post = get_post($_GET['id']); 
    $post->post_title; 
?> 
0

foreach ऊपर बदलें:

ऑब्जेक्ट की श्रेणी लो ([0], [1], [2] ...) और सेट (प्रत्येक) $ pagedet के रूप में विलक्षण उदाहरण।

foreach($portfolio_children as $pagedet) { 

अब सरणी में प्रत्येक ऑब्जेक्ट के 'post_title' मान के बराबर $ post_title बनाएं।

$post_title = $pagedet->post_title; 

यह तकनीकी रूप से काम करेगा, लेकिन आप प्रत्येक उदाहरण के माध्यम से लूप करना चाहते प्रोग्राम के रूप में सरणी में प्रत्येक वस्तु पहचान के बिना।

echo $pagedet[0]->post_title; 
echo $pagedet[1]->post_title; 
echo $pagedet[2]->post_title; 

अब आप प्रत्येक POST_TITLE मूल्य बाहर लिख सकते हैं:

echo $post_title; 
}; 

सारांश में

foreach($portfolio_children as $pagedet) { 
    $post_title = $pagedet->post_title; 
    echo $post_title; 
}; 
संबंधित मुद्दे