Hi,
I am sure I have done this before but cannot find it in the forums.
I have a wordpress site that has multiple posts, each posts is a merchant for example
Post 1 (ASOS)
Post 2 (Marks and Spencer)
etc
I also have PT installed which has the same merchants. I would like show xx number of random products for that merchant on the merchant posts.
Shortcode would be [pto merchant="ASOS" results="20" sort="random"] or similar?
Is this possible?
Thanks
richard
I ended up using [pto featured="merchant:Shaver Shop:10"] based on the other post.
Hi David,
Great mod... Is it possible to modify the above so that I can get rid of the "Search Results/Banner" and "Search Results/Navigation" and just have the grid?
Cheers
Fb
Hi Fb,
Just to confirm, as the banner / navigation are appearing that would indicate that you are using the shortcode on the /shopping page (or whatever you are using as the container permalink - the page with the [pto] shortcode...) - is that the case?
The reason I ask is that the code in pto_search.php is set-up to only show the banner / navigation on that page; if the [pto search="keywords"] shortcode is used anywhere else on the site only the results should be displayed...
Cheers,
David.
--
PriceTapestry.com
Hi David,
Ok.. I understand.
I've edited the WP template footer and I had added the above shortcode appear in the product page.
Which [PTO] shortcode should I be using? or can i use modified version of the "related" product table? basically I'd to be able to display a random selection of products from the same merchant.
cheers
Fb
Hi,
You could modify the Featured Products shortcode handler to support special section names e.g. merchant:Merchant Name:3 for 3 random products from "Merchant Name".
To do this, Edit pto_featured.php and look for the following code beginning at line 37:
if ($section)
{
$sql = "SELECT * FROM `".$pto_config_databaseTablePrefix."featured` WHERE name LIKE '".esc_sql($section)."/%' ORDER BY sequence";
}
...and REPLACE with:
if ($section)
{
$parts = explode(":",$section);
switch($parts[0])
{
case "merchant":
$sql = "SELECT name,1 AS sequence FROM `".$pto_config_databaseTablePrefix."products` WHERE merchant = '".esc_sql($parts[1])."' ORDER BY RAND() LIMIT ".$parts[2];
break;
default:
$sql = "SELECT * FROM `".$pto_config_databaseTablePrefix."featured` WHERE name LIKE '".esc_sql($section)."/%' ORDER BY sequence";
break;
}
}
And then use the shorcode:
[pto featured="merchant:Merchant Name:3"]
Hope this helps!
Cheers,
David.
--
PriceTapestry.com
Hi David,
Thanks for that. I've made the changes and added the shortcode to a page but it only displays the shortcode.
I check to see if [pto featured="section"] works and thats fine.
Not sure what I've missed.
Cheers
Fb
Hi,
Sorry about that - i'd left a part of the standard section SQL in to the merchant version so nothing would have been returned - corrected above...
Cheers,
David.
--
PriceTapestry.com
Hi Richard,
Sure that can be achieved; firstly to add support for the new attributes results and sort, edit pto.php and look for the following code at line 770:
if (isset($atts["maxprice"])) $pto_maxPrice = $atts["maxprice"];
...and REPLACE with:
if (isset($atts["maxprice"])) $pto_maxPrice = $atts["maxprice"];
global $pto_config_resultsPerPage;
global $pto_sort;
if (isset($atts["results"])) $pto_config_resultsPerPage = $atts["results"];
if (isset($atts["sort"])) $pto_sort = $atts["sort"];
And to add rand as a sort option, edit pto_search.php and look for the following code at line 339:
$orderBy["priceDesc"] = "minPrice DESC";
...and REPLACE with:
$orderBy["priceDesc"] = "minPrice DESC";
$orderBy["rand"] = "RAND()";
And then use in your posts, for example:
[pto search="merchant:ASOS" results="20" sort="random"]
Hope this helps!
Cheers,
David.
--
PriceTapestry.com