Community Forums › Forums › Archived Forums › General Discussion › Marketpress theming/templates
Tagged: MarketPress, WPMU
- This topic has 12 replies, 4 voices, and was last updated 11 years, 2 months ago by Summer.
-
AuthorPosts
-
March 7, 2013 at 11:41 pm #24939JiveDigParticipant
Does anybody have any experience customizing WPMU's Marketpress with Genesis?
I'm very confused after spending half a day with it. I just want to do some simple add_action's after_post_title and before_post_content.... typical stuff I do with Genesis. I can't, for the life of me, get any sort of control over the product archive or mp_productlist as they call it.
Can anyone shed some light? There has been a few questions on WPMU's support regarding Genesis, but because they don't directly support Genesis the answer is basically "figure it out for yourself".
Lead developer of Mai Theme
March 8, 2013 at 12:37 am #24942Brad DaltonParticipantYou may want to consider changing to Woo Commerce which is supported by Genesis.
March 8, 2013 at 9:22 am #24995JiveDigParticipantSwitching is not an option for this project... It requires Multisite and chained payments, which as far as I know is only possible with Marketpress at the moment. Honestly, I built the same functionality into WooCommerce and Easy Digital Downloads already, and it worked great... but I want multisite and automatic commissions on the new project, so I'm forced to go with Marketpress.
Lead developer of Mai Theme
August 6, 2013 at 5:11 pm #54462SpankaMemberHey guys, this is my first post here and I think I'm in the deep end as usual 🙂 But I might have an answer here for Marketpress + Genesis.
Quick background: joomla hack for years, checked out WP a few months ago, got into Rocket Theme's gantry framework (excellent, but CRAP for working with other stuff like MarketPress - completely custom template hierarchy) and now, I'm here working with Gensis (hoping that it's a more "wp-way" framework!). Im kinda ok with php/mysql, but not a dev.
WARNING: I put this together in about 10 minutes. This is a STARTING point, not a drop-in solution that makes you scream "I win" in 10 minutes or less.
Anyway, here's the idea:
1. MarketPress has its own internal system for content generation that it plugs dynamically into your WP theme....and its own hierarchy of templates for products, categories etc. This doesn't play well with frameworks, because frameworks need to include their frame around everything generated.
2. Therefore, the goal is to be able to override your MP files in the standard way (mp_product.php etc), but still retain the Genesis functionality. Simple - find out how Genesis does it and do it that way, because you're in their world, so play by the rules.
3. Create your mp_product.php inside your theme or child theme - just as you would normally, as per MarketPress themeing instructions.
4. Frankenstein the Genesis framework around your MP code. As you've probably noticed, most "pages" for Genesis themes just have genesis(); We need the parts of that. These can be found in /wp-content/themes/genesis/framework.php. Here's the CORE of that file:get_header(); do_action( 'genesis_before_content_sidebar_wrap' ); ?> <div id="content-sidebar-wrap"> <?php do_action( 'genesis_before_content' ); ?> <div id="content" class="hfeed"> <?php do_action( 'genesis_before_loop' ); do_action( 'genesis_loop' ); do_action( 'genesis_after_loop' ); ?> </div><!-- end #content --> <?php do_action( 'genesis_after_content' ); ?> </div><!-- end #content-sidebar-wrap --> <?php do_action( 'genesis_after_content_sidebar_wrap' ); get_footer();
5. This is way too tricky for me, but I *do* know that the actual CONTENT of pages is generated inside the loop. At least, that's how MP does it, Gantry and now I'm guessing Genesis. So we want ALL of this code, but we want our ACTUAL store code to replace the line:
do_action('genesis_loop');
6. If you created your mp_product.php and copied in that code from above, then replaced the do_action('genesis_loop') line, you end up with something like this:
get_header(); do_action( 'genesis_before_content_sidebar_wrap' ); ?> <div id="content-sidebar-wrap"> <?php do_action( 'genesis_before_content' ); ?> <div id="content" class="hfeed"> <?php do_action( 'genesis_before_loop' ); ?> <!-- genesis loop used to be here. now it's going to be whatever I want my MP code to be --> <?php do_action( 'genesis_after_loop' ); ?> </div><!-- end #content --> <?php do_action( 'genesis_after_content' ); ?> </div><!-- end #content-sidebar-wrap --> <?php do_action( 'genesis_after_content_sidebar_wrap' ); get_footer();
The Aftermath....
As stated, this is 10 minutes of reading through my Genesis sample theme and some other crap I've got floating around. My result was:
- My sample theme is loaded accurately and all scripts & css seem to reference ok
- My 2 custom widget areas I've registered work
- My MP product shows properly, including lightbox operability
- My related products content (thanks to CCTM - freaking awesome system) and my related skin care treatments both load perfectly well with stock standard code.
- My footer appears correctly
- Responsiveness is retained
I'd LOVE IT if someone "official'ish" (or at least "good at WordPress stuff") can confirm/deny whether I'm doing something horribly terrible with catastrophic consequences to Gensis, but it doesn't look like it!
Hope this helps someone.
August 6, 2013 at 6:44 pm #54470SummerMemberI switched from WooCommerce to Marketpress last year, too, mostly because they don't nickel & dime you to death with add-ons, and while I haven't done anything special or complicated, many of the Genesis child themes worked with Maretpress with some tweaks. My first attempt was with Clip Cart, but I never finished because the client changed their mind, canceled the project and went with Shopify (which I'd recommended before we began, but they never took a look at until they realized how much more they'd have to learn with WordPress and any shopping cart. Live and learn!)
Still on my to-do list: building and testing out a custom Genesis child theme for Marketpress. Just haven't been able to make the time in between my client work and producing my scifi shows.
That said, I'm kinda curious to try out your Frankenstein code, and see what I can break 🙂
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After DarkAugust 6, 2013 at 7:07 pm #54471SpankaMemberI took one look at WooCommerce and just laughed. You get a barebones engine and pay through the nose for the GOOD stuff. Given that all these awesome plugins run off oversized CPT's by the look, I just use CCTM to fill in the blanks on their CPTs and do what I need to.
btw - you've GOT my frankenstein code! It's the bottom code frag in my previous post. Where yo've got <!-- genesis loop used to be here --> is where you put your stock standard MarketPress code. There's nothing special in there - just what you'd normally do.
Bleh, why not? Here's the code I'm using with a lot of stuff cut out to leave the basics. It is quite literally getting the core Genesis sequence they use, ripping out the loop function and replacing it with whatever you want.
<!-- Genesis code start --> <?php # Genesis code get_header(); do_action( 'genesis_before_content_sidebar_wrap' ); ?> <div id="content-sidebar-wrap"> <?php do_action( 'genesis_before_content' ); ?> <div id="content" class="hfeed"> <?php do_action( 'genesis_before_loop' ); ?> <?php /* =========================================== WP/MP code start ===========================================*/ ?> <div class="item-page"> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <h1 class="mp_product_name"><?php the_title(); ?></h1> <div class="mp_product_content"> <?php mp_product_image( true, 'single', $post->ID, 150); the_content(); ?> </div> <!-- CCTM markup for related products --> <h2 class="prod_relTitle">Related Products</h2> <div class="prod_relProdWrapper"> <div class="prod_relProdIntro">We have several professional skin care products related to <?php echo the_title(); ?>, listed below for your convenience.</div> <?php $relProds = get_custom_field('prod_RelatedProducts:to_array', 'get_post'); foreach ($relProds as $p) { echo "<div class='prod_relProd'>"; $prodThumb = get_the_post_thumbnail( $p['post_id']); echo "<div class='prod_relProdHeader'>"; echo "<h3><a href='".$p['permalink']."' target='_blank'>".$p['post_title']."</a></h3>"; echo "</div>"; echo "<a href='".$p['permalink']."' target='_blank'>".$prodThumb."</a>"; echo "<div class='prod_relProdDesc'>".$p['post_excerpt']."</div>"; echo "</div>"; } ?> <br class="clear"/> </div> <!-- CCTM markup for skin conditions (custom CPT) treated by this product --> <h2 class="prod_relTitle">Related Skin Care Treatments</h2> <div class="prod_relTreatWrapper"> <div class="prod_relTreatIntro">Our salons offer several skin treatments utilising <?php echo the_title(); ?>, listed below for your convenience.</div> <?php $relProds = get_custom_field('prod_RelatedTreatments:to_array', 'get_post'); foreach ($relProds as $p) { echo "<div class='prod_relTreat'>"; $prodThumb = get_the_post_thumbnail( $p['post_id']); echo "<div class='prod_relTreatHeader'>"; echo "<h3><a href='".$p['permalink']."' target='_blank'>".$p['post_title']."</a></h3>"; echo "</div>"; echo "<a href='".$p['permalink']."' target='_blank'>".$prodThumb."</a>"; echo "<div class='prod_relTreatDesc'>".$p['post_excerpt']."</div>"; echo "</div>"; } ?> <br class="clear"/> </div> </div> <?php endwhile; endif; ?> </div> <?php /* =========================================== WP/MP code end ===========================================*/ ?> <?php #Genesis code recommences -> end do_action( 'genesis_after_loop' ); ?> </div><!-- end #content --> <?php do_action( 'genesis_after_content' ); ?> </div><!-- end #content-sidebar-wrap --> <?php do_action( 'genesis_after_content_sidebar_wrap' ); get_footer();
August 6, 2013 at 9:35 pm #54498SummerMemberCool, I thought you'd posted it all above, but hey, more to play with 🙂 Thanks!
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After DarkAugust 7, 2013 at 9:22 am #54565SummerMemberWow, I didn't realize that Woo is raising their prices on all themes, all plugins, and all WooCommerce extensions, removing unlimited licenses and lifetime support from all their products.
The idiotic way they rolled out their pricing changes last year was why I dropped my themes subscription and went to WPMU in the first place... well, it was the last straw. Six months of slogging through some awful theme coding made me wish I'd never signed up, but the client at the time really wanted that one theme.
Have I said lately how much I love StudioPress, and how much easier using Genesis makes my workload? If not, there you go.
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After DarkAugust 7, 2013 at 9:46 am #54571SpankaMemberOn the posting it all above - I did! The second dump was me screwing around for a bit - free updates I guess 🙂 There's nothing special in there. Plenty of copy and paste coolness from MarketPress docs though! The CCTM stuff might be interesting I suppose. It's a very good plug.
On the WooThemes - ouch. Sounds ugly..and abrupt.
It's gotta be a hard market though - from what I've seen, a majority of code is free (as in beer & speech). A lot is supported decently - free. So expectations of a paid product are high. Maybe unfairly so? Or not. Then, add in the layer of "anyone can learn WP and here's 5 billion free tutorials on the net to get you started"...it just seems...dangerous.
Free code. Free knowledge. Lots of both - which is *awesome* - sharing knowledge is the highest calling of the human race. But if you add people who expect free and have no desire/skills to learn, then you just have a bunch of free loaders who expect it....free. I haven't seen a hint of that here (which I love), but it's been everywhere else in the WP world I've been. I have no clue how companies like Woo & StudioPress make money and continue to offer services.
Anyways - I plan to be around for a bit. I'm finally getting myself into WP and I kinda like it. It's almost...Fun. I do miss real widget (module) management from Joomla though!
Is the best thing I can do around here to try and answer questions?
August 7, 2013 at 12:39 pm #54651SummerMemberI'm not against them raising their prices in order to continue to be able to make the products their customers buy and to be able to support those customers. For business reasons, it makes sense, and I have no problem with that.
However, one of the reasons stated in the blog post about the price increases and the elimination of the lifetime support was because of how much they were spending in responding to support tickets... something that increased beyond their expectations last August when they removed the old forums, and with it the ability for more savvy users to find answers on their own (thus my concerns with some of the forum changes here... the community is starting to pick up speed again, but searching the archives does not yield relevant answers as easily as the old forums did).
What bugs me now, and last August, was how the sprung the changes on the customer base with no warning, no grandfathering, and a lot of people who purchased products in the week leading up to the change felt as if they'd been ripped off. With their latest updates, they are increasing the monthly subscription prices, AND the prices of the themes, AND the prices of the WooCommerce extensions, while also limiting support to 2 years (at which time people have to renew or lose out on updates), AND also eliminating the 30% discount that they had previously promoted as a bonus for being a subscriber (a discount they are now saying was only a temporary introductory offer.... that lasted 53 weeks).
The fact they've made a horrendously unpopular business model change almost exactly a year after they'd made a similar poorly thought out move -- one which they had to backtrack a bit from after a month -- is stunning to me. It's like they didn't learn a thing from last year's poor execution of changes that greatly affected their entire customer base.
If they were thinking clearly, instead of penalizing all subscribers, they'd put in a premium support package, and make the folks who submit 10 tickets a month pay a little more than the folks who submit 10 tickets a year.
Again, it's confounding moves like this that make me appreciate the treasure here 🙂 It may not be perfect all the time, but having experienced other varying levels of mediocre and awful from other WordPress theme houses and solutions enterprises, I now have a high bar of comparison and expectations when I take a look at other chlid themes and themes in general!
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After DarkAugust 7, 2013 at 12:50 pm #54655SummerMemberand yes, just jump in and offer help and suggestions where you can. It took me a while to start chiming in, because "hey, what do I know?"
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After DarkAugust 7, 2013 at 3:59 pm #54729SpankaMemberI can totally understand all of that. It sounds ugly and stupid - both ethically and financially. Is their eCommerce engine that superior that they (think) they can reasonably get away with it?
But really, there's no excuse for not providing good community support tools. Put in the effort so that the customer base can help each other (like here!). It's just smart! It helps customers help you save time on support!
There's a Joomla community thing I haven't seen a lot of in WP-land: the annual fee model. It is a mix of superior quality code (compared to a lot of freebies), heavier price point and 1 year of updates and support - usually forums + tickets. The customers help each other out for faster support, the devs get a solid chunk of $$ and (usually) care about the forums, and answer tickets. At the end of the year, if you don't renew, cool, you just don't get free updates and support anymore.
And yeah, they should be refunding recent customers as they have just purchased on something that is no longer true. Dirty.
August 7, 2013 at 6:12 pm #54764SummerMemberThe annual fee model seems to go more with the premium plugins rather than the premium themes. It's a model that seems to work well for Gravity Forms, pretty much the way you described. I think the reason it wouldn't work so well with themes is you wouldn't continually update a theme as often as you might have to update a plugin.
There's also also the free version and the pro/premium version model, but to me, that also seems to be better suited towards the plugins rather than the themes.
While there's no one solution that would work for every plugin, theme, individual developer or theme shop, one thing that should be consistent is respecting the customers. Woo's latest changes seem to be split right down the middle again, so who knows how many customers they'll lose this year and how many more new ones they'll gain? All I know is they lost me last year as a subscriber, and because I don't want to agree to their new terms, I asked to have my account removed. I should have done it sooner, because they removed the theme that I'd built a site with for one old client, so I couldn't have continued to get updates for that theme if I wanted to anymore.
WordPress / Genesis Site Design & Troubleshooting: A Touch of Summer | @SummerWebDesign
Slice of SciFi | Writers, After Dark -
AuthorPosts
- The forum ‘General Discussion’ is closed to new topics and replies.