Updated Upfront; no more Marketpress product pages.

Upon upgrading Upfront and a few other plugins, I am no longer able to see my MarketPress product pages.

The URLs are intact, indeed loading all of the stickied region, yet not loading the featured image or other content of the product post. See an example here: http://lexirinajewelry.com/store/products/boys-like-girls-like-hematite/

I have already disabled all plugins (except, of course, MarketPress itself) with no avail. There are no errors in the console; the dom just builds an empty Upfront Container div. Apache reports a number of errors, but most are due to turning off my caching during the plugin test. Some of the more cryptic include:

[Mon Jan 18 22:52:10.029678 2016] [:error] [pid 13516] [client 127.0.0.1:39412] PHP Fatal error:  Call to a member function get_property_value() on a non-object in /var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php on line 210, referer: http://lexirinajewelry.com/store/products/black-is-beautiful/
[Mon Jan 18 22:55:03.716346 2016] [:error] [pid 13524] [client 127.0.0.1:40679] PHP Fatal error:  Call to a member function get_property_value() on a non-object in /var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php on line 210, referer: http://lexirinajewelry.com/store/products/category/muladhara/
[Mon Jan 18 22:55:30.839324 2016] [:error] [pid 13536] [client 127.0.0.1:40887] PHP Fatal error:  Call to a member function get_property_value() on a non-object in /var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php on line 210, referer: http://lexirinajewelry.com/store/
[Mon Jan 18 22:56:09.700002 2016] [:error] [pid 13588] [client 127.0.0.1:41141] PHP Fatal error:  Call to a member function get_property_value() on a non-object in /var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php on line 210, referer: http://lexirinajewelry.com/store/products/hexagon/
[Mon Jan 18 23:12:16.852363 2016] [:error] [pid 13675] [client 127.0.0.1:45072] PHP Fatal error:  Call to a member function get_property_value() on a non-object in /var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php on line 210, referer: http://lexirinajewelry.com/

These fatal errors are on localhost using high ports, none of the above ports running a process on my server (most likely because it was fatal). I will be investigating the error-calling file (/var/www/lexirinajewelry.com/public_html/wp-content/themes/upfront/library/servers/class_upfront_stylesheet_main.php), though I felt it was best to alert you considering that this problem appears to be simply between the MarketPress and Upfront.

I hope you concoct a nice patch from this information! I have already granted access and I look forward to your more intelligent fix than the simple hack I will be working on.

~Jeremy

  • Jeremy

    This function is the one referenced, but disabling it does not resolve the problem:

    function prepare_typography_styles ($layout, $grid) {
    		$typography = $layout->get_property_value('typography');
    		if (!$typography)
    			return '';
    		$out = '';
    		$faces = array();
    		foreach ( $typography as $element=>$properties ) {
    			$properties = wp_parse_args($properties, array(
    				'font_face' => false,
    				'weight' => false,
    				'style' => false,
    				'size' => false,
    				'line_height' => false,
    				'color' => false,
    			));
    			$face = !empty($properties['font_face'])
    				? $properties['font_face']
    				: false
    			;
    			$faces[] = array(
    				'face' => $face,
    				'weight' => $properties['weight']
    			);
    			if (!empty($face) && false !== strpos($face, ' '))  $face = '"' . $face . '"';
    			$font = $properties['font_face'] ? "{$face}, {$properties['font_family']}" : "inherit";
    
    			$selector = $this->_typography_element_to_output_selector($element);
    			if (empty($selector)) continue;
    
    			$out .= "{$selector} {\n" .
    					"font-family: {$font};\n" .
    					( $properties['weight'] ? "font-weight: {$properties['weight']};\n" : "" ) .
    					( $properties['style'] ? "font-style: {$properties['style']};\n" : "" ) .
    					( $properties['size'] ? "font-size: {$properties['size']}px;\n" : "" ) .
    					( $properties['line_height'] ? "line-height: {$properties['line_height']}em;\n" : "" ) .
    					"color: {$properties['color']};\n" .
    					"}\n";
    		}
  • Jeremy

    Here are all the apache2 errors from today, the first day it has been malfunctioning. Notably, I was mistaken: the aforementioned function has been calling errors historically, without noticeably effect for the end user and certainly not abolishing all of the product pages. Instead, these are mostly errors for disabled plugins.

    [Tue Jan 19 16:19:12.230401 2016] [:error] [pid 15557] [client 127.0.0.1:46506] PHP Warning:  Missing argument 2 for CJTMetaboxAccessPoint::postsMetabox() in /var/www/lexirinajewelry.com/public_html/wp-content/plugins/css-javascript-toolbox/access.points/metabox.accesspoint.php on line 43, referer: http://lexirinajewelry.com/wp-admin/index.php
    [Tue Jan 19 16:19:14.409257 2016] [:error] [pid 15662] [client 127.0.0.1:46548] PHP Warning:  Missing argument 2 for CJTMetaboxAccessPoint::postsMetabox() in /var/www/lexirinajewelry.com/public_html/wp-content/plugins/css-javascript-toolbox/access.points/metabox.accesspoint.php on line 43, referer: http://lexirinajewelry.com/wp-admin/admin.php?page=maintenance
    [Tue Jan 19 16:20:40.193019 2016] [:error] [pid 15662] [client 127.0.0.1:47074] PHP Warning:  Missing argument 2 for CJTMetaboxAccessPoint::postsMetabox() in /var/www/lexirinajewelry.com/public_html/wp-content/plugins/css-javascript-toolbox/access.points/metabox.accesspoint.php on line 43, referer: http://lexirinajewelry.com/wp-admin/admin.php?page=maintenance
    [Tue Jan 19 16:32:23.918869 2016] [:error] [pid 15697] [client 127.0.0.1:50430] PHP Warning:  implode(): Invalid arguments passed in /var/www/lexirinajewelry.com/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 3088, referer: http://lexirinajewelry.com/wp-admin/plugins.php?plugin_status=all&paged=1&s
    [Tue Jan 19 16:32:23.918904 2016] [:error] [pid 15697] [client 127.0.0.1:50430] PHP Warning:  implode(): Invalid arguments passed in /var/www/lexirinajewelry.com/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 3090, referer: http://lexirinajewelry.com/wp-admin/plugins.php?plugin_status=all&paged=1&s
  • Michael Bissett

    Hey @Jeremy, Michael here! :slight_smile:

    I've tried to reproduce this over on a test setup of my own (running PHP 5.5), but I haven't been able to reproduce this, could you please send in the following via our secure contact form, so that a deeper look can be taken here:

    - Mark to my attention, the subject line should contain only: ATTN: Michael Bissett
    - Do not include anything else in the subject line, doing so may delay our response due to how email filtering works.
    - Link back to this thread
    - Include cPanel access details (login address, username & password) - so I can take a peek at your site's database, preferably via phpMyAdmin
    - Include FTP log-in details (hostname, username & password)
    - Include any relevant URLs for your site

    IMPORTANT: Please make sure you select "I have a different question" for your topic, so it doesn't go back to the forums - this and the subject line ensure that it gets assigned to me.

    https://premium.wpmudev.org/contact/

    Thanks! :slight_smile:

    Kind Regards,
    Michael

  • Jeremy

    Due to my inability to solve this fatal problem and the demands of my client, I am going to be migrating this site to WooCommerce by the end of my day (6 hours from now).

    Thank you for your attempts! If there are grounds for me to wait for a fix, I will abide since I am partial to WPMU products: so please let me know! Otherwise, I simply have too much time pressure to allow me to wait since the problem appears inconclusive to me.

    Thanks,
    Jeremy

  • Michael Bissett

    Hey @Jeremy, Michael here! Close to the wire, but here nonetheless. :slight_smile:

    After doing a good deal of digging into this, the cause of this would actually be related to the Upfront layout for the single product pages, rather than being something in MarketPress.

    I renamed the entry for the product layout inside your database (the _options table, to be specific), from "Spirit-single-product" to "Spirit-single-product1", to temporarily disable that layout, and get the content displayed.

    Can you confirm that the content's now displaying on your end, please? I realize that there's going to be some editing required now to get things looking like they did before, but at least we've got a platform to work from now. :slight_smile:

    Please advise,
    Michael

  • Jeremy

    Wow, Michael, thank you! It is working splendidly.

    Hmm... a mysterious phenomenon since I haven't changed the template in a while. Nonetheless, the product pages have been fickle since the beginning for me. Consequently, I haven't changed them much from the default, so I was able to restore the previous design in a minute in Upfront.

    Truly, a lifesaver! I was evaluating the landscape for transferring and it would appeared as if I was going to mapping spreadsheets for the next 4 hours. I am very appreciative!

    I have just a few questions:
    Is this a permanent fix?
    What error log did you check to find the problem?

    Thank you!
    Jeremy

  • Michael Bissett

    Hey @Jeremy, thanks for your patience here, and glad to hear that it worked on your end! :slight_smile:

    Is this a permanent fix?

    It should be, yes. :slight_smile:

    What error log did you check to find the problem?

    The tool that gave me the clue was the ?dev=true flag:

    example.com/?dev=true

    Amongst other things, the ?dev=true flag uses a separate layout, which was handy for testing this, as it showed to me that with the original layout, the content was being displayed.

    Hope this helps, and hope you're having a great weekend! :slight_smile:

    Kind Regards,
    Michael

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.