Skip Navigation

[Résolu] How to php code to get a specific field

This support ticket is created Il y a 4 années et 5 mois. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

No supporters are available to work today on Toolset forum. Feel free to create tickets and we will handle it as soon as we are online. Thank you for your understanding.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Kolkata (GMT+05:30)

Marqué : ,

This topic contains 6 réponses, has 3 voix.

Last updated by fred-r.M Il y a 4 années et 5 mois.

Assisted by: Minesh.

Auteur
Publications
#1383783

Tell us what you are trying to do? We are having some custom code:

$str .= '<span class="locality" itemprop="addressLocality">{here my variable used to be}</span>'."\n";

Where you see {here my variable used to be} - we like to have some php code, replaced for [wpv-post-taxonomy type='location' format='name']

Is there any documentation that you are following? No found anything

Is there a similar example that we can see? We like to have something similar like this:

<span class="locality" itemprop="addressLocality">[wpv-post-taxonomy type='location' format='name']</span>

What is the link to your site?

hidden link

#1383835

Hello,

You can try WordPress function do_shortcode(), for example:

echo do_shortcode( "[wpv-post-taxonomy type='location' format='name']" );

More help:
https://developer.wordpress.org/reference/functions/do_shortcode/

#1383961

Dear Luo Yang

We might need to mention, that it will be inside an existing php function:

function display_schema_org() {
  
  global $post;
  $str = '';
   
  $schema_org = get_post_meta($post->ID,'wpcf-schema-org',true);
  $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium', true);
  $thumb_url = $featured_image[0];
  $alt = get_post_meta($featured_image, '_wp_attachment_image_alt', true);
    
  if(!empty($schema_org)){
       $str .=  '<div class="rat" itemscope="" itemtype="<em><u>hidden link</u></em>'.$schema_org.'">'."\n";
       $str .=  '<span itemprop="name">'.$post->post_title.'</span>'."\n";
       $str .=  '<div itemprop="description">'.substr($post->post_content, 0, 600).'</div>'."\n";
   }
  if ($thumb_url != '') {
	   $str .=  '<img itemprop="image" class="embed-responsive-item" src="'.$thumb_url.'" alt="'.$wpv_post_title.'">'."\n";
   }   
       $str .= '<div itemprop="address" itemscope="" itemtype="<em><u>hidden link</u></em>">'."\n";
       $str .= '<span class="region" itemprop="addressRegion">PKT</span>'."\n";
       $str .= '<span class="locality" itemprop="addressLocality">'."\n";
       $str .= '<div class="country-name" itemprop="addressCountry">Thailand</div>'."\n";
       $str .= '</div>';
       $str .= '</div>';
	   
  return $str;
}
add_shortcode( 'show_schemaorg', 'display_schema_org' );

So the string we get will be in a line like [php]$str .= '<[php]

#1385615

Minesh
Supporter

Languages: Anglais (English )

Timezone: Asia/Kolkata (GMT+05:30)

Luo is on vacation. This is Minesh here and I'll take care of this ticket in Luo's absence. Hope this is OK.

I see you are using the custom code that generates string as per your requirement.

What if you try to use the following code - as you can see I've added the variable $shortcode_value that contains the value of your location taxonomy and I've modified the line where you concat the string as given under:

  $str .= '<span class="locality" itemprop="addressLocality">'.$shortcode_value.'</span>\n';

Here is the full code you should try to use:

function display_schema_org() {
   
  global $post;
  $str = '';
    
  $schema_org = get_post_meta($post->ID,'wpcf-schema-org',true);
  $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium', true);
  $thumb_url = $featured_image[0];
  $alt = get_post_meta($featured_image, '_wp_attachment_image_alt', true);
  $shortcode_value = do_shortcode( "[wpv-post-taxonomy type='location' format='name']" );
     
  if(!empty($schema_org)){
       $str .=  '<div class="rat" itemscope="" itemtype="<em><u>hidden link</u></em>'.$schema_org.'">'."\n";
       $str .=  '<span itemprop="name">'.$post->post_title.'</span>'."\n";
       $str .=  '<div itemprop="description">'.substr($post->post_content, 0, 600).'</div>'."\n";
   }
  if ($thumb_url != '') {
       $str .=  '<img itemprop="image" class="embed-responsive-item" src="'.$thumb_url.'" alt="'.$wpv_post_title.'">'."\n";
   }   
       $str .= '<div itemprop="address" itemscope="" itemtype="<em><u>hidden link</u></em>">'."\n";
       $str .= '<span class="region" itemprop="addressRegion">PKT</span>'."\n";
      $str .= '<span class="locality" itemprop="addressLocality">'.$shortcode_value.'</span>\n';
      $str .= '<div class="country-name" itemprop="addressCountry">Thailand</div>'."\n";
       $str .= '</div>';
       $str .= '</div>';
        
  return $str;
}
add_shortcode( 'show_schemaorg', 'display_schema_org' );
#1385817

Dear Minesh

For wpv-post-taxonomy type='location' format='name' - do I need to use the slug, as we have the taxonomy Locations, but the slug is tourist-information.

An for every tourist-spot, we choose the Location where it is in.

Regards

#1385855

Minesh
Supporter

Languages: Anglais (English )

Timezone: Asia/Kolkata (GMT+05:30)

For wpv-post-taxonomy type='location' format='name' - do I need to use the slug, as we have the taxonomy Locations, but the slug is tourist-information.
==>
Sorry, using [wpv-post-taxonomy] shortcode, you can list the terms attached to your current post.

More info:
=> https://toolset.com/documentation/user-guides/views-shortcodes/#wpv-post-taxonomy

If your custom taxonomy slug is tourist-information, then you should use the shortcode:

[wpv-post-taxonomy type='tourist-information' format='name']
#1386533

My issue is resolved now. Thank you!

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.