Forum Replies Created

Viewing 15 replies - 1 through 15 (of 20 total)
  • I’m not sure exactly what the cause is but it’s all related to css.

    Add this css to your active theme’s ‘styles.css’ file (at the very bottom, usually). Then reload that page. If you can’t add to that file for some reason, add this css as custom css to your site. You may have to press Ctrl+F5 to see the change.

    .woocommerce table.shop_table td {
       width: 100% !important;
    }

    You’re welcome.

    Add this to your active theme’s “functions.php” file (same file that you added the woocommerce_customer_save_address hook):

    add_filter('woocommerce_add_success', 'removeNotice_AddressChangedSuccessfully', 99, 1);
    
    function removeNotice_AddressChangedSuccessfully($notice_message) {
    	return ($notice_message === __( 'Address changed successfully.', 'woocommerce' )) ? null : $notice_message;
    }

    Yes, I believe this will work. I just tried it and it’s working. Find the ‘Shop’ and ‘Cart’ pages via the admin dashboard and edit the permalink and the titles for each page and then update them. Make sure to do this updating through the UI as you normally would (the Pages section of the admin dashboard, etc…) and not the database, for example.

    I was initially worried about the re-write rules causing problems if you did this but it appears to update them automatically after updating the pages. Internally, the shop and cart pages are identified by an id (and not a slug) so you’re good there as well, as far as I know.

    Be sure to backup your site before making these changes just in case you need to rollback.

    precisionpac

    (@precisionpac)

    You’re welcome. Happy to help.

    precisionpac

    (@precisionpac)

    Hey,

    I also wanted to add that you can look at the code in this file (wp-content/plugins/elementor/includes/widgets/image-gallery.php) to see how Elementor is already using the image gallery it has. You could use it as a guide. There’s probably a lot of code in that file that you’d need anyway.

    precisionpac

    (@precisionpac)

    You’re welcome. Glad that did it.

    Regarding your question, I don’t much about Elementor. It does appear that they let you develop your own Widgets. This would be my suggestion. I would leave the default one alone and create a new one for a wooswipe gallery. Looking at the wooswipe code, it looks like it’s only built to replace the Woo Gallery for single products only. It doesn’t appear to be written as a generic gallery to be used with any photos on any page. Given that, you’d have to write a lot of custom code to make it work with Elementor. If you’re up for it, Elementor has instructions for registering a Widget and also tells you how to start writing the PHP for the widget itself.

    Registering (or Adding) Widget : https://developers.elementor.com/add-custom-functionality/

    Writing the PHP: https://developers.elementor.com/creating-a-new-widget/

    It will be a challenge, however, especially if you’re new to PHP. I actually come from the C#.NET world so I’m not super knowledgeable about PHP or even WordPress. I just know enough to do the basics.

    Hey,

    Sorry for the delay. I believe I had everything correct now. I simplified part of the code to better interface with WordPress (use their code already in place rather than writing my own which is subject to breaking after an update, etc…).

    Here it is:

    // --------------------- START - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------
    // 2/17/2019
    
    remove_action('woocommerce_before_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 20);
    add_action('woocommerce_after_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 9);
    
    add_action( 'woocommerce_single_product_summary', 'MoveAskAQuestionButtonOnProducts', 1 );     // NOTE - comment out this line if the site won't load (this will put the button back in it's default position)
    
    function MoveAskAQuestionButtonOnProducts()
    {
    	global $wp_filter;
    
    	$cb_action_to_remove = 'woocommerce_single_product_summary';
    	$cb_action_priority_to_remove = 35;
    	$cb_action_to_add = 'woocommerce_after_single_product_summary';
    
    	foreach ($wp_filter[$cb_action_to_remove]->callbacks[$cb_action_priority_to_remove] as $cbs_key => $cbs_value) {
    		foreach ($cbs_value['function'] as $func_key => $func_value) {
    			if ($func_value === 'wcfm_enquiry_button') {
    				remove_action($cb_action_to_remove, $cbs_key, $cb_action_priority_to_remove);
    
    				$relatedProductsPriority = has_action($cb_action_to_add, 'woocommerce_output_related_products');
    				add_action($cb_action_to_add, $cbs_value['function'], ($relatedProductsPriority - 1));
    
    				break 2;
    			}
    		}
    	}
    }
    // --------------------- END - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------

    I would just copy all of that and paste over what you have. It should all work.

    • This reply was modified 6 years, 1 month ago by precisionpac.

    Very good! Happy that the first part of the code worked.

    I know what the issue is with the button but will need some time to get more code to you for that. I will get that to you this week some time.

    Happy it’s coming together!

    Hi.

    No problem. No need to be embarrassed, I promise.

    I’m confused by the parse error again because the code I provided doesn’t have any ‘&’ in it any more. Can you take a screenshot of the functions.php file (instead of pasting the contents)?

    If you just put these two lines in there, does it at least rearrange the gallery and the summary?

    remove_action('woocommerce_before_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 20);
    add_action('woocommerce_after_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 9);

    Also, can you tell me what version of WordPress and PHP you’re using?

    Hi.

    Sorry for the issues. I figured you were using astra b/c I poked around on the page that you linked and saw some references to it in the code. (Right-click on a whitespace area and click ‘Inspect’).

    You were editing the correct functions.php file. So, you did things right there. I have updated the code to hopefully handle the parse error and the double-gallery issue. I downloaded the WooSwipe plugin to see what it was doing and hopefully have the issue taken care of. Try this now:

    // --------------------- START - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------
    // 2/9/2019
    
    remove_action('woocommerce_before_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 20);
    add_action('woocommerce_after_single_product_summary', 'wooswipe_woocommerce_show_product_thumbnails', 9);
    
    add_action( 'woocommerce_single_product_summary', 'MoveAskAQuestionButtonOnProducts', 1 );
    
    function MoveAskAQuestionButtonOnProducts()
    {
    	global $wp_filter;
    
    	$cb_method_to_remove = 'woocommerce_single_product_summary';
    	$cb_method_priority_to_remove = 35;
    	$cb_method_to_add = 'woocommerce_after_single_product_summary';
    
    	foreach ($wp_filter[$cb_method_to_remove]->callbacks[$cb_method_priority_to_remove] as $cbs_key => $cbs_value) {
    		foreach ($cbs_value['function'] as $func_key => $func_value) {
    			if ($func_value === 'wcfm_enquiry_button') {
    				remove_action($cb_method_to_remove, $cbs_key, $cb_method_priority_to_remove);
    
    				if (empty($wp_filter[$cb_method_to_add]->callbacks)) {
    					$new_hook = new WP_Hook();
    					$new_hook->callbacks = array(1 => $cbs_value);
    					$wp_filter[$cb_method_to_add] = $new_hook;
    				}
    				else {
    					array_push($wp_filter[$cb_method_to_add]->callbacks, array($cbs_value));
    				}
    
    				break 2;
    			}
    		}
    	}
    }
    // --------------------- END - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------

    Don’t be embarrassed about anything. I reached out and offered help so I want to see it through. Hope it all works now. If not, let me know and I’ll look again.

    • This reply was modified 6 years, 1 month ago by precisionpac.

    Hi.

    Try this but please try in a staging environment first to make sure everything will load ok. I tried several simple solutions but they just wouldn’t work with the ‘Ask a Question’ button so I had to dig deeper. (I’m assuming you’re using the Astra theme, btw).

    Keep the css that you already have (that you posted above).

    In your theme’s ‘functions.php’ file (‘/wp-content/themes/astra/functions.php’ add the following to the bottom:

    // --------------------- START - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------
    // 2/7/2019
    
    remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20);
    add_action('woocommerce_after_single_product_summary', 'woocommerce_show_product_images', 9);
    
    add_action( 'woocommerce_single_product_summary', 'MoveAskAQuestionButtonOnProducts', 1 );
    
    function MoveAskAQuestionButtonOnProducts()
    {
    	global $wp_filter;
    
    	$cb_method_to_remove = 'woocommerce_single_product_summary';
    	$cb_method_priority_to_remove = 35;
    	$cb_method_to_add = 'woocommerce_after_single_product_summary';
    
    	foreach ($wp_filter[$cb_method_to_remove]->callbacks[$cb_method_priority_to_remove] as $cbs_key => $cbs_value) {
    		foreach ($cbs_value['function'] as $func_key => $func_value) {
    			if ($func_value === 'wcfm_enquiry_button') {
    				remove_action($cb_method_to_remove, $cbs_key, $cb_method_priority_to_remove);
    				$new_cbs = &$wp_filter[$cb_method_to_add]->callbacks;
    
    				if (empty($new_cbs)) {
    					$new_hook = new WP_Hook();
    					$new_hook->callbacks = array(1 => $cbs_value);
    					$wp_filter[$cb_method_to_add] = $new_hook;
    				}
    				else {
    					array_push($new_cbs, array($cbs_value));
    				}
    
    				break 2;
    			}
    		}
    	}
    }
    // --------------------- END - Rearrange Product Image, Product Summary, and 'Ask a Question' button -----------------------------------

    If that ever gives you problems (especially after upgrading WordPress or WooCommerce) then just comment out this line (by putting two forward-slashes in front of it) and have it looked at again:

    
    //add_action( 'woocommerce_single_product_summary', 'MoveAskAQuestionButtonOnProducts', 1 );
    
    • This reply was modified 6 years, 1 month ago by precisionpac.
    • This reply was modified 6 years, 1 month ago by precisionpac.
    • This reply was modified 6 years, 1 month ago by precisionpac.

    Hi.

    My guess is that the WooCommerce team isn’t jumping all over this because it may not be their issue. On a clean install, the problem does not occur. I spent some time stepping through the code and I do not see anything obvious with the WooCommerce code that handles lost passwords. They will have to reproduce the issue in order to track it down. Since a clean install won’t reproduce the issue, the other alternative is to get a copy of your code base – including all plugins, etc… your entire site, basically (without passwords, etc…). Then someone can step through that code with a debugger and see the path of execution. Another possible method is to get a stack trace that shows every method that is executed from the moment “Reset Password” is clicked. That means either knowing the right code and where to put it or downloading the right plugin. That’s a lot of work to put on your shoulders so the best solution in my mind is to have someone use a debugger. This unfortunately means having to have a copy of your entire site’s code base.

    Hi.

    Try this:

    
    /* Product Prices  */
    .woocommerce-Price-amount.amount {
       /* price properties here */
    }
    
    /* Product Titles  */
    .woocommerce-loop-product__title {
       /* title properties here */
    }

    Make sure to Ctrl + F5 to reload the css changes.

    Hi.

    It looks like you’re using an AJAX based ‘Add to Cart’ plugin (or maybe part of your theme – I don’t know). If it’s a plugin, I’m guessing it removed that button and inserted its own button onto the images themselves. If you hover over a product’s image, you’ll see the ‘Add to Basket’ button show up. Maybe the plugin will offer some other stylings? Otherwise you’ll likely have to edit that yourself using some CSS or overriding the plugin (if possible). Hard to say.

    • This reply was modified 6 years, 1 month ago by precisionpac.
Viewing 15 replies - 1 through 15 (of 20 total)