WordPress.org

Ready to get started?Download WordPress

Forums

MarketPress - WordPress eCommerce
[resolved] Customizing Marketpress checkout process (15 posts)

  1. SalvisB
    Member
    Posted 8 months ago #

    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.

    http://wordpress.org/plugins/wordpress-ecommerce/

  2. Mike
    WPMU DEV Support Staff
    Posted 8 months ago #

    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

  3. SalvisB
    Member
    Posted 8 months ago #

    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?

  4. Mike
    WPMU DEV Support Staff
    Posted 8 months ago #

    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.txt

    Basically 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:
    http://premium.wpmudev.org/forums/topic/removing-shipping-page-in-checkout-process#post-215352

  5. SalvisB
    Member
    Posted 8 months ago #

    Nice. 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?

  6. Mike
    WPMU DEV Support Staff
    Posted 8 months ago #

    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'); ?>

  7. SalvisB
    Member
    Posted 8 months ago #

    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.

  8. Mike
    WPMU DEV Support Staff
    Posted 8 months ago #

    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.

  9. SalvisB
    Member
    Posted 8 months ago #

    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>
  10. Jack Kitterhing
    WPMU DEV Support Staff
    Posted 7 months ago #

    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.

  11. SalvisB
    Member
    Posted 7 months ago #

    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 (http://screencast.com/t/5fw5LIWa10Jn)

    Website: http://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(); ?>
  12. Mike
    WPMU DEV Support Staff
    Posted 7 months ago #

    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 (http://screencast.com/t/5fw5LIWa10Jn)

    Perhaps add this to your stylesheet to override what is being added:

    #maininner {
        min-height: 200px !important;
    }
  13. SalvisB
    Member
    Posted 7 months ago #

    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 (http://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.

  14. Mike
    WPMU DEV Support Staff
    Posted 7 months ago #

    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 (http://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,
    Mike

  15. WPMUDEV
    WPMU DEV Support Staff
    Plugin Author

    Posted 7 months ago #

    Hey 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!

Reply

You must log in to post.

About this Plugin

About this Topic