Customizing Marketpress checkout process
-
What is solutions for customizing Marketpress checkout process.
1) Most important, how to remove all widgets from displaying in checkout pages.
2) And how to remove unwanted checkout steps, like ‘payment information’ for example.
-
Hi @salvisb
1) Most important, how to remove all widgets from displaying in checkout pages.
What are the widgets you want to stop from displaying? Are they sidebar widgets that show on every other page? If so you’ll need to create a new template file in your theme that doesn’t include the widgets and use that for the page that displays the checkout
2) And how to remove unwanted checkout steps, like ‘payment information’ for example.
Why would you want to remove the payment information screen? If you are selling digital products then the shipping details aren’t requested. And if you want to remove the checkout completely you can enable the “Product Listings Only” setting which basically turns your website into a catalog
If so you’ll need to create a new template file in your theme that doesn’t include the widgets and use that for the page that displays the checkout
Those widgets are in the sidebar and inner bottom positions.
But how can I use template for “virtual” pages? Far as I know e-commerce plugins such as Woocommerce uses “real” pages for checkout process, but it isn’t Marketpress case. In this case that would be much easier.Why would you want to remove the payment information screen?
I haven’t integrated any payment methods by now and that’s why this step is unnecessary. And by analyzing statistics this is checkout step where users tend to abandon checkout process, because there is represented an unnecessary information that unnecessarily takes up time.
There should be an easy way for users to choose which checkout steps to include. If not, maybe there is way how to jump from ‘shipping-information’ page straight to ‘confirmation page – last step’.
Summary ??
1) How can I use template for “virtual” pages?
2) Maybe there is a way which let as jump from ‘shipping-information’ page straight to ‘confirmation’ page by changing few lines of code?Hi @salvisb
1) How can I use template for “virtual” pages?
MarketPress uses custom post types and we have included instructions on templating it. If you look at the following file you will see information on how/what to do:
wp-content/plugins/wordpress-ecommerce/marketpress-includes/themes/Themeing_MarketPress.txtBasically you need to create files in your theme, here are some:
mp_product.php - Single Product Page mp_store.php - Store Page mp_cart.php - Cart Page mp_orderstatus.php - Order Status Page mp_productlist.php - Product List Page mp_category.php - Category Page mp_taxonomy.php - Taxonomy Page
2) Maybe there is a way which let as jump from ‘shipping-information’ page straight to ‘confirmation’ page by changing few lines of code?
If you have already set Products -> Store Settings -> Shipping -> Select Shipping Method to “No Shipping” then this is as much as we can do. Unfortunately some payment gateways just require shipping information, I believe PayPal is one of them.
Check out this post, the lady here has just changed the text from “Shipping Information” to “Billing Information” most people should be happy with that:
https://premium.wpmudev.org/forums/topic/removing-shipping-page-in-checkout-process#post-215352Nice. Thanks Mike.
Didn’t know that file mp_cart.php should be placed in themes folder.
Mike, maybe you have template for a mp_cart file with default functionality?Hi @salvisb
I’m afraid we don’t that I know of, however if you just copy your themes page.php or similar, then add this to the page, that should be all that is required:
<?php mp_show_cart('checkout'); ?>
Ok, when I use WordPress default page template, it works great.
<?php /* Template Name: Archives with Content */ get_header(); ?> <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?> <div id="main"> <?php mp_show_cart('checkout'); ?> </div> <?php get_footer(); ?>
But now I must figure out how to customize widget appearance.
<?php get_footer(); ?> refers to footer.php and footer.php file holds in itself this code:<?php $warp = Warp::getInstance(); // get content from output buffer and set a slot for the template renderer $warp['template']->set('content', ob_get_clean()); // load main template file, located in /layouts/template.php echo $warp['template']->render('template');
Which refers to layouts/template.php file. But when I copy template.php content in mp_cart.php, it doesn’t work. What could be the solution?
Hope that someone could help with this.Hi @salvisb
This is part of your theme isn’t it? I’m afraid I can’t really help with that. However you could copy the contents of footer.php and replace <?php get_footer(); ?> with the contents of footer.php
Why do you need to alter footer.php? Is that where the widgets are?
If you can’t do this yourself it might be worth hiring a website designer to help with these final tweaks.
footer.php points to layouts/template.php , and this is file where the widgets are.
It should be that if I replace <?php get_footer(); ?> with code from template.php file, it should work.
Mike, maybe you can give a quick look at the code which are in the template.php file.// get template configuration include($this['path']->path('layouts:template.config.php')); ?> <!DOCTYPE HTML> <html lang="<?php echo $this['config']->get('language'); ?>" dir="<?php echo $this['config']->get('direction'); ?>"> <head> <?php echo $this['template']->render('head'); ?> </head> <body id="page" class="page <?php echo $this['config']->get('body_classes'); ?>" data-config='<?php echo $this['config']->get('body_config','{}'); ?>'> <div id="page-bg"> <div id="page-bg2"> <?php if ($this['modules']->count('absolute')) : ?> <div id="absolute"> <?php echo $this['modules']->render('absolute'); ?> </div> <?php endif; ?> <div id="block-toolbar"> <div class="wrapper"> <div id="toolbar" class="grid-block"> <?php if ($this['modules']->count('toolbar-l') || $this['config']->get('date')) : ?> <div class="float-left"> <?php if ($this['config']->get('date')) : ?> <time datetime="<?php echo $this['config']->get('datetime'); ?>"><?php echo $this['config']->get('actual_date'); ?></time> <?php endif; ?> <?php echo $this['modules']->render('toolbar-l'); ?> </div> <?php endif; ?> <?php if ($this['modules']->count('toolbar-r')) : ?> <div class="float-right"><?php echo $this['modules']->render('toolbar-r'); ?></div> <?php endif; ?> </div> </div> </div> <div class="wrapper grid-block"> <header id="header"> <div id="headerbar" class="grid-block"> <?php if ($this['modules']->count('logo')) : ?> <a id="logo" href="<?php echo $this['config']->get('site_url'); ?>"><?php echo $this['modules']->render('logo'); ?></a> <?php endif; ?> <?php if($this['modules']->count('headerbar')) : ?> <div class="left"><?php echo $this['modules']->render('headerbar'); ?></div> <?php endif; ?> </div> <div id="menubar" class="grid-block"> <?php if ($this['modules']->count('menu')) : ?> <nav id="menu"><?php echo $this['modules']->render('menu'); ?></nav> <?php endif; ?> <?php if ($this['modules']->count('search')) : ?> <div id="search"><?php echo $this['modules']->render('search'); ?></div> <?php endif; ?> </div> <?php if ($this['modules']->count('banner')) : ?> <div id="banner"><?php echo $this['modules']->render('banner'); ?></div> <?php endif; ?> </header> <?php if ($this['modules']->count('top-a')) : ?> <section id="top-a" class="grid-block"><?php echo $this['modules']->render('top-a', array('layout'=>$this['config']->get('top-a'))); ?></section> <?php endif; ?> <?php if ($this['modules']->count('top-b')) : ?> <section id="top-b" class="grid-block"><?php echo $this['modules']->render('top-b', array('layout'=>$this['config']->get('top-b'))); ?></section> <?php endif; ?> <?php if ($this['modules']->count('innertop + innerbottom + sidebar-a + sidebar-b') || $this['config']->get('system_output')) : ?> <div id="main" class="grid-block"> <div id="maininner" class="grid-box"> <?php if ($this['modules']->count('innertop')) : ?> <section id="innertop" class="grid-block"><?php echo $this['modules']->render('innertop', array('layout'=>$this['config']->get('innertop'))); ?></section> <?php endif; ?> <?php if ($this['modules']->count('breadcrumbs')) : ?> <section id="breadcrumbs"><?php echo $this['modules']->render('breadcrumbs'); ?></section> <?php endif; ?> <?php if ($this['config']->get('system_output')) : ?> <section id="content" class="grid-block"><?php echo $this['template']->render('content'); ?></section> <?php endif; ?> <?php if ($this['modules']->count('innerbottom')) : ?> <section id="innerbottom" class="grid-block"><?php echo $this['modules']->render('innerbottom', array('layout'=>$this['config']->get('innerbottom'))); ?></section> <?php endif; ?> </div> <!-- maininner end --> <?php if ($this['modules']->count('sidebar-a')) : ?> <aside id="sidebar-a" class="grid-box"><?php echo $this['modules']->render('sidebar-a', array('layout'=>'stack')); ?></aside> <?php endif; ?> <?php if ($this['modules']->count('sidebar-b')) : ?> <aside id="sidebar-b" class="grid-box"><?php echo $this['modules']->render('sidebar-b', array('layout'=>'stack')); ?></aside> <?php endif; ?> </div> <?php endif; ?> <!-- main end --> <?php if ($this['modules']->count('bottom-a')) : ?> <section id="bottom-a" class="grid-block"><?php echo $this['modules']->render('bottom-a', array('layout'=>$this['config']->get('bottom-a'))); ?></section> <?php endif; ?> <?php if ($this['modules']->count('bottom-b')) : ?> <section id="bottom-b" class="grid-block"><?php echo $this['modules']->render('bottom-b', array('layout'=>$this['config']->get('bottom-b'))); ?></section> <?php endif; ?> <?php if ($this['modules']->count('footer + debug') || $this['config']->get('warp_branding')) : ?> <footer id="footer" class="grid-block"> <?php if ($this['config']->get('totop_scroller')) : ?> <a id="totop-scroller" href="#page"></a> <?php endif; ?> <?php echo $this['modules']->render('footer'); $this->output('warp_branding'); echo $this['modules']->render('debug'); ?> </footer> <?php endif; ?> </div> </div> </div> <?php echo $this->render('footer'); ?> </body> </html>
Hi there SalvisB,
Which parts did you want to remove? If you need to remove widgets, you’d be better doing this with some custom css, if you can link me to your site, I’ll take a look ??
Kind Regards
Jack.Hi Jack!
Got your idea about custom css in mp_cart.php file. Now I managed to hide unnecessary widgets in checkout pages.
But still there are some details to figure out –1) Something is wrong with page title in checkout process. In my browser tab it shows some random title from my posts.
2) I don’t get checkout page headings like “SHIPPING INFORMATION”, “PAYMENT INFORMATION” etc.
3) Any ideas how to remove the gap in red (https://screencast.com/t/5fw5LIWa10Jn)Website: https://development.e-rotas.lv
Code which I’m using in my mp_cart.php file right now:
<style> #sidebar-b{ display:none; } #innerbottom{ display:none; } #bottom-b{ display:none; } #bottom-a{ display:none; } </style> <?php /* Template Name: Marketpress Cart */ get_header(); ?> <div id="main"> <?php mp_show_cart('checkout'); ?> </div> <?php get_footer(); ?>
Hi @salvisb
1) Something is wrong with page title in checkout process. In my browser tab it shows some random title from my posts.
2) I don’t get checkout page headings like “SHIPPING INFORMATION”, “PAYMENT INFORMATION” etc.
This is strange. Do you have any SEO plugins installed?
3) Any ideas how to remove the gap in red (https://screencast.com/t/5fw5LIWa10Jn)
Perhaps add this to your stylesheet to override what is being added:
#maininner { min-height: 200px !important; }
Yes, I’m using “All in one SEO pack”, it is because of this plugin. When I remove it titles works fine. Is there any solutions to continue to use this plugin but also to fix that bug?
2) I don’t get checkout page headings like “SHIPPING INFORMATION”, “PAYMENT INFORMATION” etc.
Here I think is not a fault of a SEO plugin. There must be something to do with code that I implemented.
I’m speaking about this headings (https://screencast.com/t/MfjVbRD1LEGf) which in each checkout step says – SHOPPING CART or SHIPPING INFORMATION or PAYMENT INFORMATION. I don’t get this output in my development envoirment when I use mp_cart.php file. Shopping cart info. shows up and works fine, but it is outputting without headings.Hi @salvisb
Yes, I’m using “All in one SEO pack”, it is because of this plugin. When I remove it titles works fine. Is there any solutions to continue to use this plugin but also to fix that bug?
I’ve just installed this plugin and I see there is an advanced section where you can exclude pages. This might be useful?
2) I don’t get checkout page headings like “SHIPPING INFORMATION”, “PAYMENT INFORMATION” etc.
Here I think is not a fault of a SEO plugin. There must be something to do with code that I implemented.
I’m speaking about this headings (https://screencast.com/t/MfjVbRD1LEGf) which in each checkout step says – SHOPPING CART or SHIPPING INFORMATION or PAYMENT INFORMATION. I don’t get this output in my development envoirment when I use mp_cart.php file. Shopping cart info. shows up and works fine, but it is outputting without headings.Ah I see, have you tried using this:
<?php the_title(); ?>
Cheers,
MikeHey there.
We haven’t heard from you in awhile, so I just wanted to check in to make sure all was good.
This thread was marked resolved, but please, if you still need help then just respond and open it back up. We can then take it from there. ??
Hope you have a fantastic day!
- The topic ‘Customizing Marketpress checkout process’ is closed to new replies.