One important aspect of customising WordBay is the CSS to format the display, meaning background colours, borders etc. Obviously you want your eBay listings to match the style of your blog/site, right? I have neglected to explain how to do this in the past and most people seem to have figured it out somehow, but I appreciate I could have given a little more help with this. So here goes, briefly, though I am no CSS expert myself.
The WordBay.css file
You need to edit the WordBay.css file, which is in the WordBay package, and in the plugin directory once you install it. You can actually edit it from the WordPress backend. Important: once you are happy with the look of your site, SAVE this version of the CSS, even if it’s just copy-pasted to a Notepad file somewhere. That way, when you install a new version of WordBay - and they do come out every now and then! - your settings will not be overwritten. At some point I will allow these styles to be edited from the backend and that will save some trouble, but for the time being…
The elements of the WordBay CSS styling
First, I should point out that the eBay feed is preformatted to a large extent, so you don’t actually get much freedom over the appearance of the display. However, there are some key elements you CAN change. In the file, find:
#leftpanel
{
}
This is the code for the ENTIRE listing panel, i.e. the container for all 10, or however many products WordBay is displaying on your page. It’s called “LEFTpanel” for historical reasons! There is no right panel
(there was once upon a time!) I never did anything with the style, that’s why it’s empty, but you could add a border around the whole thing with:
border: 1px solid #xxxxxx;
…where xxxxxx is your desired RGB colour in hex obviously. Or perhaps a background colour with “background-color:” (yes, we have to spell “colour” the American way… It’s a lost battle, I know!
) Anyway, use your imagination, I am not very good with design - as you can see from this horrible WordBay template!
Next we have:
.firstlocaleitem
{
padding: 8px 8px 8px 8px;
margin: 4px 4px 4px 4px;
background-color: #4f4c47;
height: 180px;
}
.firstlocaleitem table
{
font-size: 0.9em;
}
.firstlocaleitem is the class with which you can format your individual products - note that the font-size had to be put in a separate sub-class for “table” - I think the eBay feed’s existing formatting was not inheriting the font-size from the main class for some reason, can’t remember now.
Anyway, so under “.firstlocaleitem” you can see I have padded out the product “boxes”, added some margins, and given them a fixed height, which it’s important to do else the content can wrap and make a mess. Here you can do as above - change the background colour, border etc.
The third element you will see in the CSS file is a class for the search box - I put this in because a small number of people had problems - their search box was not appearing, probably because it was inheriting a “hidden” characteristic from the site. But you could format your search box a little too - giving it some large font size etc. though this is generally not recommended because search box formatting does not work cross-browser very well.
Well, this is just very basic, but I hope it’s a help to get you started customising your WordBay sites a little so they blend in - and stand out of course!
I’m preparing a magazine and wanted to promote use ad share… I found bayrss (which now includes amazon), I’d like to do the same with clickbank - can you add an ad share system to your word-bay so I can get authors to review clickbank products they’ve purchased or to promote new products?
The way bayrss works is that it switches the affiliate link that shows up and shows the product and related produducts that are recommended visually (but only for ebay and amazon.
he’s selling it for $37, so you could do a simpler version (just text links for instance) and charge (or-not).
Hi,
Let me get my head round the idea - so you would want to ad-share with visitors, who would get a share of the impressions for reviews they write? Would they write the reviews as comments for the posts? Interesting idea - getting people to comment in return for a cut of revenue, sounds quite complicated though. I am interested in revenue sharing generally though, as a way of encouraging user content-creation so I can definitely think about it! I don’t think it is something I could get onto in the very near future though, since I want WordBay working properly as a plugin in it’s current basic form.
if you google rssbay, you’ll see what I mean… but I’m interested in using it with clickbank so that if I get a post about a clickbank item (that they’ve purchaesed and used) … then I’ll let the post go live… and for one visitor his clickbank affiliate id will show-up and the next visitor the clickbank affilate id will be my own. that way we have 50/50 chance of making a sale.
You see, I don’t buy clickbank products too often, so if I can get reviewers to accurately describe the good ones they’ve purchased and used, then it would be good for my readers and me (and the reviewer) - a win-win-win.
I’m going to ask the maker of rssbay to see if he could add clickbank - he currently has ebay and amazon.
Hi, sorry, definitely can’t add anything to do with clickbank for the time being. Concentrating on eBay. Will file away all suggestions though, as they usually yield up ideas for future development.
I bought your bayrss but my AVG antivirus finds a trojan in it! I can’t upload it to my server because AVG removes one of the files! What can I do?
I, think you got confused! BayRSS is a different program
Sorry for cross commenting, put in wrong page before… had not seen this post.
Anyway folks, this mod will GEO target your adds dynamically allowing you to monetise traffic multiple countries:
I was only able to test UK and US results as I do not have proxies for the other territories.
It user data from
http://www.hostip.info/dl/index.html (database)
http://www.hostip.info/use.html (API)
This example uses their API, so if their site go’s down the mod fails. If that proves to be a problem then you could download their database, and do the lookups locally on your own host.
/* Get parameters for listing (see admin panel) */
$first_placementID = $WBOptions[’placement_id’];
$first_siteID = $WBOptions[’site_id’];
$first_location = $WBOptions[’location_id’];
$locals=array(array(’US’, ‘CA’, ‘UK’, ‘AU’, ‘IN’, ‘IE’), array(’0′, ‘2′, ‘3′, ‘15′, ‘203′, ‘205′), array(’711-53200-19255-0′, ‘706-53473-19255-0′, ‘710-53481-19255-0′, ‘705-53470-19255-0′, ‘4686-53472-19255-0′, ‘5282-53468-19255-0′), array(’1′, ‘2′, ‘3′, ‘15′, ‘95′, ‘99′));
$fp = fopen(’http://api.hostip.info/country.php?ip=’ . $_SERVER[’REMOTE_ADDR’], ‘r’);
while ($line = fread($fp, 1024)) {
$userCountry .= $line;
}
for ($i = 0; $i <= sizeof($locals[0]); $i++){
if ($userCountry == $locals[0][$i]){
$first_siteID = $locals[1][$i];
$first_placementID = $locals[2][$i];
$first_location = $locals[3][$i];
}
}
I have wordbay on all of my pages and even though I have plugins that open all external links in a new window this is not working with my pages with wordbay….. any solution? ……thanks…Jim
Just playing around with this, to see what it does.
I started out using a widget from the partner site, then found your solution, so tried it. More filtering would be good. Your plugin seems more aimed at a niche. But my niche is about location. So I wanted a feed that showed items within a 10 mile radius.
Nice plugin, I’ll see if I can use it anywhere else I’ve got, but until there is more filtering I’ll have to stick with an rss solution.
Good luck!
Thanks for your comments. True, I have focused on the “niche” user’s needs. I guess the plan in the long-term would be to include as many of the parameters as possible so you can have full flexibility. There are lots of other good suggestions around from other users, too, and unfortunately I am just not finding the time to work on WordBay at the moment, but I AM following what users are doing and will try to make everybody happy at some point (ha ha!)
First, apologies for not responding sooner to these questions - I have been on holiday. Many thanks for using WordBay and for taking the time to interact.
Jez!
Wow, I have been itching to get back from holiday (well, that’s a bit of a lie! but I was intrigued to say the least!) and try out your amazing hack!! I was certainly impressed, so don’t take my lack of response as indifference! Many thanks for posting this - I have not tried it yet, but if I can verify it works for all the regions I will make sure to incorporate a version of it in a new version of WordBay - you are right, there could be 30% more sales out there to be had. Big kudos to you!
Jim S
I am not sure how the plugin you mentioned works, but I guess WordBay may very well circumvent it. If you want to make links open in a new browser tab/window you need to edit the line (no. 208 in v0.96) that says (oops, sorry, this was wrongly escaped earlier - should read ok now):
$description = str_replace ( "<a ", "<a rel='nofollow' ", $description ); /* Add "nofollow" to all hyperlinks */
and change it to read:
$description = str_replace ( "<a ", "<a rel='nofollow' target='_blank' ", $description ); /* Add "nofollow" to all hyperlinks */
I must admit I haven’t tested it, but it should work, fairly straightfoward HTML stuff - I’ll think about including this as an option in a future version.
Hi Mark,
Well it is all IP based, as long as your IP can be resolve against their data it should be fine. As mentioned I tested in from the UK and US but do not have proxies to test in other countries.
The problem with the above code, is that if the hostip.info go’s down your ads dont display at all. There needs to be an error trap to default to US.
Better still, as I mentioned you can download their database onto your own host to completely remove the issue.
If you did that, then it would not be hard to have an updater script download the files and re-build the database once a month on a cron job. That would be the ultimate solution
The site I am using this on is not really active yet, but I am getting a couple of sales, as these increase Ill let you know if they are coming from different territories.
For me the increase would be a lot more than 30%… more like 60%.
Jez
Right - we all know that IP geotargetting is an inexact science, but it’s probably accurate enough to make it worthwhile. I suppose it might be good to provide an option for the user to change locales if they happen to get served the wrong one. Which makes everything a whole lot complicated..! Might mean employing cookies - brrr…
Good point about the possibility of the ip provider’s server going down (or running slowly) - the caching option would make sense, though I am wary of cron jobs, I am convinced I will forget how or where I set them up, especially if I ever migrate to another host!
Thanks for all your suggestions - I think I will sit down and get my head round the whole idea and around your code and try to implement it in an upcoming version. Thanks mate!
I think the GEO targetting works ok for countries, not so great for cities. I doubt this will cause a problem.
If you allow the user to change the option you can store the choice in the session, that will set a session cookie… but that is NP, its not like managing your own cookie, all taken care of by the session.
You can use WP Cron… the wordpress in built thing, but I would always go with an external cron.
All depends how far you want to take it.
For now you could just get it working with the API for the major territories as above (with an error trap in case the API go’s down) and add this basic GEO targeting as an “experimental” option in your plugin and see where it go’s / what the feedback / demand is like.
Jez
Yes, I think I will try to include something which is as close as possible to your implementation, with the error trapping, and investigate the database option ongoing. I have to admit that my PHP skills knowledge doesn’t yet extend to cookies, though I assume it’s simple enough like most things in PHP.
Just been looking at your code - nice and simple! One question, am I right in thinking that if the visitor is from a country other than (’US’, ‘CA’, ‘UK’, ‘AU’, ‘IN’, ‘IE’), the default value will remain in place?
Yes,
Look toward the top of the snippet, the three variables are still set as normal, using $WBOptions
Only if the users country is in that array are the variables subsequently changed:
if ($userCountry == $locals[0][$i]){ …..
I would suggest moving all those array values into a de-limited text file where they can easily be understood / maintained, then read them back into the program.
So, you could keep a list in a text file in the following format:
United States|US|0|711-53200-19255-0|1
as opposed to having your values splattered all over the source code…. its only a few lines of code to read in and process a flat file like that.
If you create the text file and mail it over Ill give you the snippet to read it in… that will make it a lot cleaner.
Hi Jez,
Couldn’t find a valid email address for you, so am posting here:
Hi Jez,
Thanks for offering to do this and for helping out. Would be great to get this working.
This is how the file would look:
United States|US|0|711-53200-19255-0|1
Canada|CA|2|706-53473-19255-0|2
United Kingdom|UK|3|710-53481-19255-0|3
Australia|AU|15|705-53470-19255-0|15
India|IN|203|4686-53472-19255-0|95
Ireland|IE|205|5282-53468-19255-0|99
(Had to write a script to output this file, just couldn’t be bothered to cut-paste!)
I added the full country names like you suggested - I guess you could use this to display the country for the user, like “See comfy slacks on eBay #United Kingdom#” or something.
By the way, was there any reason why you only added those particular countries? I believe it wouldn’t be a problem to include most of the others, though I think a couple of them don’t work with the feed.
Anyway, this text file of yours would make it easier to extend the country list. Gotta admit, there is lots of messiness in my code like this. I am not exactly the tidiest coder (or person, in real life, generally).
Many thanks for the help!
Mark
P.S. I have also added the line “if ($fp) { rest of the code}” after the $fp = fopen line, which would hopefully catch some errors (erm, think so anyway!), though it might be worth programming in a timeout as well, in case the server is very slow.
Ok mail address is correct now… bad auto complete
I added those countries as they are the markets relevant to my site
What I meant was get the entire list for the whole site, not just those 6, then modify your original code to use values from the file.
Unless it is done with the full list there is not really much benefit, can you use your script to get the rest of them?
Jez
Just mailed you modified code…
Thought I would post here to say it does seem to be working in different territories… I can see the clicks coming in, but it is a new site with little traffic.
Hopefully with a few more users it will be easier to test.
Jez
Hi. Really like the plugin. I’ve tried the others (bayrss and phpbaylite). I’ve also had good success with simplepie. I, too, would like to see you add Amazon to the feeds, like bayrss has. I have experimented with displaying the Amazon feed from bayrss combined with the dual column Wordbay feed, and it looks really cool - almost like larger “featured” products at the top combined with a regular shopping page at the bottom.
To the commenter who mentioned the “bayrss” trojans, it’s because the author encrypted his code (I guess he didn’t want it stolen). I found a site where you can download a script that will decrypt it (it’s not hard).
Thanks for the comments!
Worth thinking about - though it’s taking the plugin a long way from what I originally intended. I am trying to visualise how the products might be displayed - I suppose you could have a uniform list but combine the products, that would be another option.
But this is getting into full-blown product comparison! Currently I have a private project I am working on along those lines, for a site I want to make (sorry, no freebie planned for THAT script
), but I guess some of the ideas and code could make their way into WordBay. Will think about it!
Hm, lots of people obfuscate their code, but I didn’t know it would trigger a false positive with virus checkers..!
What is that comparison script going to do, i.e. what platforms will it compare, just Amazon and Ebay?
Sorry, not telling
But put it this way, if BizRate.com can claim to have a MILLION visitors a day, with what I can only describe as a very dull and simple comparison script, then I reckon ANY creative approach to comparison shopping has a chance of grabbing a piece of that pie.
Those APIs are out there just waiting to be mashed! Think CJ too - through their API you have literally millions of products, all nicely supplied in XML.
OK, here’s just one idea, which I can’t be bothered to implement: a script which would basically supply music information taken from Amazon Web Services like song names, album covers etc. and sell CDs, mp3 downloads etc. from the back of it.
Sure, that info is out there on the net already, sure it’s on Amazon already (but there it is presented in generic form, in a horrible big lump on the product page), hey, maybe it’s even been done before. But just by being selective, presenting the data in a creative and useful way, making an attractive Web 2.0 interface, whatever, you can add value and get the interest of the SEs and the visitors.
I think this is the way forward, away from these crummy thin affiliate sites…! Not that ours are crummy and thin, of course, but, you know
I love this plugin!
I have a couple of feature requests though.
1. Add to Settings Panel — the option to change the background color of the listing instead of having to change the CSS file and upload it. Since you seem to update the plugin quite frequently, it can be a pain to do this on multiple sites.
2. Add to Settings Panel — the option to have links open in a new window instead of having to edit the php file and then upload it.
(Note: currently, the modification you offered above (adding target=’_blank’ does not seem to be working on my sites. Any other suggestions would be appreciated)
Question:
I notice that sometimes I get an error on some of my listing pages:
value “” is out of range. (10008)
It doesn’t happen all of the time and I can usually just refresh the page and it will then show the proper listings. But I wanted to know what causes this in the first place. If you could shed some light on this.
Thanks,
Pat
value “” is out of range. (10008)
looks like an array going out of bounds.
Check the countries.text file and make sure:
1) There are no lines with an additional pipe | at the end
2) There is no whitespace at the end of the file, i.e. the end of the file should be the last character of the last line, not a new line underneath…
Other than that have no suggestions at this time…
Jez
Actally that looks more like sql / db error, but not sure where that could be coming from in wordbay…
This is an error returned by the eBay feed on occasion, I believe (i.e. it’s THEIR error). Now whether it is something consistent, caused by my mode of accessing the feed, I can’t say. Some people say it’s happening all the time, some say it’s intermittent. I have had real trouble finding out about this error, it’s just not documented properly. I DO know that other plugins similar to WordBay have suffered from a similar problem.
I will have to make it a priority to figure this one out. In the worst case there would have to be some sort of caching to ensure that SOMETHING is displaced regardless, if it’s an intermittent eBay problem…
[…] Customising WordBay […]
I love this plugin! The geo targeting is especially useful. Not much action yet from other countries but I can see that people are clicking and its a matter of time. Most of my sales are US.
I have a question though….I have a site that is a local car site and I would like wordbay to pull listings that are say, 50 miles within a certain zip code. Is there an easy way to implement this type of feature? I know that with phpbay pro you can target like this, just was not sure if it is an option with Wordbay. thanks!
is wordbay compatible with **ShoppingAds?
**alternative to EPN
Hi, I am not sure how this would work with Shopping Ads - there is nothing to stop you adding their widgets to your page, but Shopping Ads are a Java-Script widget-based program, nothing like the way WordBay works, in conjunction with the eBay rss product feed. Not sure if you had something specific in mind?
Is there anyway of bypassing the ebay sign in when you click on the ‘more details’ button… e.g. go straight through to the product as per clicking the product image?
You mean the “Click for details” button? To be honest I cannot reproduce this behaviour - clicking on any of the links takes me to the same, product page… I am not logged in to eBay, maybe that is what makes the difference?
Sure, the ‘click for details button’. If I am logged into ebay and I click the button I go straight through to the product page, if I am not logged into ebay I get taken to the ebay sign-in page via the ‘click for details button’.
This is ebay UK (don’t know if it makes a difference?)
My site is: http://www.comparebivvies.co.uk
Hmm… Sorry, I mean, the links served up in the RSS feed (that is employed by WordBay, and will be for the foreseeable future) are something that I don’t have control over, that’s just how eBay behaves. Doesn’t really make sense - I mean, shouldn’t it try to log you in if you are NOT logged in, anyway? - but there’s not much I can do about it, sorry…
Can the ‘click for details button’ have the same action as clicking on the product image?