Support » Plugin: Site Reviews » Raw Numbers Possible?

  • Resolved ekaboom

    (@ekaboom)


    Hi,

    Is there any way to get a raw output from the summary shortcodes or any other way?

    (FYI, I’m trying to expand the schema fields for each individual page and am using custom fields not provided with your plugin. But to do that, I need the raw numbers instead of the number and including all of the divs and formatting.)

    For example, if I want to create this part of the schema using your summary shortcode:

      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
         ...

    It instead, outputs this:

      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "<div class="glsr-shortcode shortcode-site-reviews-summary"><div class="glsr-summary-wrap">
        <div class="glsr-summary glsr-default" id="">
            <div class="glsr-summary-text"><span>5</span></div>   
        </div>
    </div><glsr-shortcode hidden data-atts='{"assigned_to":"post_id","hide":"bars,rating,stars"}'></glsr-shortcode></div>",
    ...

    Is there a way to get the raw number so the output is more like this without all of the formatting and everything else?

      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "5",
         ...
Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Gemini Labs

    (@geminilabs)

    Instead of doing that, use a filter hook to extend the Site Reviews schema.

    Or, simply add an @id key to both schemas on the page and they will be linked.

    See also: https://wordpress.org/support/topic/product-schema-issue/#post-11620593

    ekaboom

    (@ekaboom)

    Thanks. I understand this better with your provided link.

    Is there a way to account for multiple items in the schema coming from different custom fields?

    	"paymentAccepted": [ "cash", "check", "credit card", "invoice", "paypal" ],
    	"openingHours": "Mo,Tu,We,Th,Fr 07:00-17:00",
    	  "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "closes":  "18:00:00",
          "dayOfWeek": "Sunday",
          "opens":  "10:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes": "17:00:00" ,
          "dayOfWeek": "Saturday",
          "opens": "12:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes":  "17:00:00",
          "dayOfWeek": "Thursday",
          "opens": "11:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes": "17:00:00",
          "dayOfWeek": "Tuesday",
          "opens": "10:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes": "17:00:00",
          "dayOfWeek":  "Friday",
          "opens": "09:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes": "17:00:00",
          "dayOfWeek": "Monday",
          "opens": "08:00:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "closes": "17:00:00",
          "dayOfWeek":  "Wednesday",
          "opens": "07:00:00"
        }
      ]

    wordpress doesn’t seem to like these “{” inside of these “[”

    I’m also having issues with this method because my checkboxes are coming back with the additional “true” value like this:

    "paymentAccepted":[{"Cash":"true"},{"Credit":"true"}]

    when I add this to the filter:

        $schema['paymentAccepted'] = [ 
    		get_post_meta( $postId, 'biz-pay-cash', true ),
    		get_post_meta( $postId, 'biz-pay-credit', true )
    	];
    • This reply was modified 5 months ago by ekaboom.
    Plugin Author Gemini Labs

    (@geminilabs)

    1. The $schema value is a PHP array, so just add values like you would in any normal PHP array:

    'openingHoursSpecification' => [
        [
            '@type' => 'OpeningHoursSpecification',
            'closes' =>  '18:00:00',
            'dayOfWeek' => 'Sunday',
            'opens' =>  '10:00:00',
        ],
        [
            '@type' => 'OpeningHoursSpecification',
            'closes' =>  '17:00:00',
            'dayOfWeek' => 'Saturday',
            'opens' =>  '12:00:00',
        ],
    ],

    2. paymentAccepted expects a comma-separated text value.

    First put all the possible values into an array and remove any empty values using array_filter:

    $paymentAcceptedValues = array_filter([
        get_post_meta($postId, 'biz-pay-cash', true),
        get_post_meta($postId, 'biz-pay-credit', true),
    ]);

    Then use implode to convert the array values to a comma-separated text string like this:

    $schema['paymentAccepted'] = implode(', ', $paymentAcceptedValues);
    
    ekaboom

    (@ekaboom)

    Thanks so much!

    I don’t know why I didn’t try replacing the { with a second [

    That worked brilliantly.

    Unfortunately the array is just spitting out the word Array like this:

    "paymentAccepted":"Array, Array, Array, Array"

    Been trying to figure out why it’s doing that:

       $paymentAcceptedValues = array_filter([
        get_post_meta($postId, 'biz-pay-cash'),
        get_post_meta($postId, 'biz-pay-check'),
    	]);
        $schema['paymentAccepted'] = implode(', ', $paymentAcceptedValues);

    It’s probably something really simple, but don’t know why it isn’t bring out the actual values? Can you see anything that might make it do that?

    Plugin Author Gemini Labs

    (@geminilabs)

    $paymentAcceptedValues = array_filter([
        get_post_meta($postId, 'biz-pay-cash', true),
        get_post_meta($postId, 'biz-pay-credit', true),
    ]);

    As shown previously…

    See: http://developer.wordpress.org/reference/functions/get_post_meta/

    ekaboom

    (@ekaboom)

    Hi,

    Yes, sorry I did exactly this:

    $paymentAcceptedValues = array_filter([
        get_post_meta($postId, 'biz-pay-cash', true),
        get_post_meta($postId, 'biz-pay-check', true),
    ]);

    (I took out the “true” as a test and accidentally posted that above)

    Both ways, it is producing the same thing above:

    "paymentAccepted":"Array, Array, Array, Array"

    checkbox fields don’t seem to be responding the same way as other fields.

    Plugin Author Gemini Labs

    (@geminilabs)

    In that case, you will probably need to contact the author of the plugin that you are using to add the meta box checkbox fields, and ask for their advise.

    You can also use the glsr_log() helper function to debug the values in the Site Reviews Console as shown in the Site Reviews > Help > Functions page. This may help you figure out yourself what to do.

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.