-
Hello, this is to continue from your great facebook help.
so i have used this code.- https://pastebin.com/8m5XU9qP?fbclid=IwAR0CxWnmHCbVkTpoPHhqI6WFnz93ThWhLv1vbsmULq1ZQqRYymEkuDvuDFg : which has added in ‘ brand ‘ very well.
Ive tried taking the code & adjusting to to add the other 2 things i need. which is ‘ wc_size ‘
& i also need the category that the item is in.
I have treid my best but no luck, so any help would be great
Thanks again
- This topic was modified 5 years, 7 months ago by O A F O.
-
Hello
Please add below code in your theme’s functions.php file:
/** * Filter to replace wc_brand with custom value. */ add_filter( 'rank_math/replacements', function( $replacements ) { if ( is_singular( 'product' ) ) { $product = wc_get_product(); // Product Brand if ( isset( $replacements['%wc_brand%'] ) ) { $brand = $product->get_attribute('pa_brand'); // Use this code to get 1st element from brand attribute if multiple brands are assigned to a Product. $brands = explode( ',', $brand ); if ( ! empty( $brands ) ) { $brand = $brands[0]; } $replacements['%wc_brand%'] = $brand; // Pass $brand to set meta value for brand. } // Product Size if ( isset( $replacements['%wc_size%'] ) ) { $size = $product->get_attribute('pa_size'); // Use this code to get 1st element from size attribute if multiple sizes are assigned to a Product. $sizes = explode( ',', $size ); if ( ! empty( $sizes ) ) { $size = $sizes[0]; } $replacements['%wc_size%'] = $size; // Pass $size to set meta value for brand. } // Product Category if ( isset( $replacements['%product_category%'] ) ) { $size = $product->get_attribute('pa_size'); // Use this code to get 1st element from size attribute if multiple sizes are assigned to a Product. $sizes = explode( ',', $size ); if ( ! empty( $sizes ) ) { $size = $sizes[0]; } $replacements['%wc_size%'] = wp_get_post_terms( get_the_ID(), 'product_cat', array( 'fields' => 'names', 'number' => 1 ) )[0]; } } return $replacements; }); /** * Filter to add custom variables */ add_filter( 'rank_math/vars/replacements', function( $vars ) { global $product; if ( ! $product ) { return $vars; } // Product Category $vars['product_category'] = [ 'name' => 'Product\'s Category', 'desc' => 'Current Product Category', 'example' => wp_get_post_terms( $_GET['post'], 'product_cat', array( 'fields' => 'names', 'number' => 1 ) )[0], ]; // Product Size $size = $product->get_attribute('pa_size'); // Use this code to get 1st element from brand attribute if multiple brands are assigned to a Product. $sizes = explode( ',', $size ); if ( ! empty( $sizes ) ) { $size = $sizes[0]; } $vars['wc_size'] = [ 'name' => 'Product\'s Size', 'desc' => 'Current Product Size', 'example' => $size ]; // Proudct Brand. if ( isset( $vars['wc_brand'] ) ) { $brand = $product->get_attribute('pa_brand'); // Use this code to get 1st element from brand attribute if multiple brands are assigned to a Product. $brands = explode( ',', $brand ); if ( ! empty( $brands ) ) { $brand = $brands[0]; } $vars['wc_brand']['example'] = $brand; } return $vars; });
After adding this code you will see 2 new variables in variable list %product_category% & %wc_size%.
Hope that helps. Thank you.
Hello thanks for that. It doesn’t show any new variables I’m afraid 🙁
Hello,
The code will show the new variables only in Product Post type posts.
If you could share your WP logins, I would love to take a look and fix it for you.
Looking forward to helping you. Thank you.
Hello there. is there any other way of doing it? As i don’t really like giving access, since someone else logged in to fix there plugin & ruined my site.
Thanks
Hello,
You can use this plugin to provide us access and install the Audit log plugin as well to see what changes we make:
https://wordpress.org/plugins/temporary-login-without-password/Unfortunately, there is no workaround. Sorry.
I have replied in the Sensitive Data section,
thanks again
sorry user wasn’t active there… there was a space in the name. there is no space
Hello,
Your login details aren’t working for me. Can you please check again and add the correct username and password in the Sensitive Data Section.
Also, the code I gave you before will only work on the Products page and it looks like you are trying to add those variables in global settings. Please edit 1 of the product on your site and see if it shows the new variables.
Thank you.
Hello, yes i posted above the details were incorrect, but they are right now.
thanks
Hello, no that doesn’t work with editing the item.
I need to to be the same as you did with the adding the brand into the titles
thanks
Hello,
I see you’ve only given us access to the Rank Math settings. Like I mentioned above, the code I gave you will only work on the Product page. Please Navigate to Dashboard >> Products and edit any product and see if those new variables are added.
Hope that helps. Thank you.
Hello. what do you need access to? No it doesnt work on product page.
Will this not work in the same way you added the ‘ pa_brand ‘ in for me on products on – /wp-admin/admin.php?page=rank-math-options-titles
This is what happens ion the products page – https://prnt.sc/n2szpo
This works grea which is what you done for me – https://prnt.sc/n2t0q4 : as that gives me this – https://prnt.sc/n2t1c4
Just the others are not working
THanks
- This reply was modified 5 years, 7 months ago by O A F O.
Hello. any luck here?
Thanks
Hello,
I want access to the Products posts on your site and to the theme editor to check why placeholders are not working on your site as on my setup it is working fine. Please see the recording: http://i.mythemeshop.com/7AQ96n
Will this not work in the same way you added the ‘ pa_brand ‘ in for me on products on – /wp-admin/admin.php?page=rank-math-options-titles
Like I mentioned before the code I gave you will only work on the Products Page, it will not show the placeholders in Settings and on the other pages of your site. If you want to show the placeholders in Settings then please remove the below condition from the rank_math/vars/replacements filter:
if ( ! $product ) { return $vars; }
Hope that helps. Thank you.
Hello,
yes i need them in the settings page but if i remove –
if ( ! $product ) {
return $vars;
}my website stops working.
okay i will sort that access you and then update you.
Thanks
Hello,
Since we did not hear back from you for 15 days, we are assuming that you found the solution. We are closing this support ticket.
If you still need assistance or any other help, please feel free to open a new support ticket, and we will be more than happy to assist.
Thank you.
The ticket ‘placeholders like %wc_size% & %product_cat%’ is closed to new replies.