0
         <?php
    foreach($getPostCustom as $name=>$value) {

        echo "<strong>".$name."</strong>"."  =>  ";

        foreach($value as $nameAr=>$valueAr) {
                echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                echo $nameAr."  =>  ";
                echo var_dump($valueAr);
        }

        echo "<br /><br />";

    }
?>

Actually I created a "Custom Post Type" and for that post type I added Custom Fields and Now I want to Display all my custom field values in the particular post type posts. The above Code displays all Custom Fields. Please help me to retrieve only custom fields of the particular Posts Only. Thanks In Advance..

5
  • 1
    Can you please elaborate your question? are you using the ACF plugins? this is a template? What is $getPostCustom? Commented Aug 1, 2017 at 12:13
  • Actually I created a "Custom Post Type" and for that post type I added Custom Fields and Now I want to Display all my custom field values in the particular post type posts.
    – Praveen
    Commented Aug 1, 2017 at 12:25
  • These custom fields, you added them with the Advanced Custom Fields plugin? Commented Aug 1, 2017 at 12:40
  • yes I added through Advanced Custom Field Plugins
    – Praveen
    Commented Aug 1, 2017 at 12:55
  • I edited the above code and now it works hope it may be useful for someone else please see my answer in the bottom
    – Praveen
    Commented Aug 4, 2017 at 5:13

2 Answers 2

1
    <div class="col-xs-12 col-sm-12 col-md-8 col-lg-8 left_column"> <?php
      if (have_posts()) : 
        while (have_posts()) : the_post(); ?>
        <h1> <?php the_title();?> </h1> <?php 
        $post_meta = get_post_meta(get_the_ID());
        foreach($post_meta as $key=>$value)
        { 
            echo "<strong>".$key."</strong>"."  =>  ";
            foreach($value as $nameAr=>$valueAr)
            {
                echo "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                echo $nameAr."  =>  ".$valueAr; 
            }
            echo "<br >";       
        }
        the_content(); 
        endwhile;
        endif; ?>
      </div>
0

If you're in the single_{$post_type_slug} template . you can do this way:

// Create an array with the name of all custom field

$custom_field_names = array( 'custom_field1', 'custom_field2' );
$custom_fields;

$args = array (
 'post_type' => 'post',
 'posts_per_page' => -1
);

$posts = get_posts( $args );

// Get all the custom fields for this post

foreach( $posts as $key => $post ) {
  foreach( $custom_fields_names as $name ) {
    $custom_fields[$key][$name] = get_field( $name, $post->ID )
  }
} 
6
  • Thanks for the above code but i need without adding custom field names in the query @ Cesar
    – Praveen
    Commented Aug 2, 2017 at 13:22
  • Which query are you saying?, the code isn't adding any custom field to the main query, just getting the field related to the current $post. This function will run after the WP_Query. I've updated my answer. Commented Aug 2, 2017 at 13:36
  • $custom_field_names = array( 'custom_field1', 'custom_field2' ); here are you calling custom fields?
    – Praveen
    Commented Aug 2, 2017 at 13:43
  • No, there I'm just putting the name of the custom fields that I will get. This is good because I can wall them dynamically in here: foreach( $custom_fields_names as $name ) { $custom_fields[$key][$name] = get_field( $name, $post->ID ) }. Instead of calling them one by one. Example: get_field( custom_field1, $post->ID ); get_field( custom_field2, $post->ID ); Commented Aug 2, 2017 at 13:47
  • but I want to display all fields relagted to the posts without mentioning custom fields name
    – Praveen
    Commented Aug 3, 2017 at 3:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.