Support » Plugin: Genesis Portfolio Pro » Error messages on new site after changing slugs

  • Resolved madriverweb

    (@madriverweb)


    @modernnerd, I’m referencing your assistance in this previous post: https://wordpress.org/support/topic/change-url-slug-for-portfolio-type/

    I have implemented this slug replacement technique successfully in another site for two years. That site is running WordPress 5.5.3 running a modified Enterprise theme. Using Genesis 3.3.3. https://www.tfpny.com/member/

    I am simply trying to change the slug name to Meeting(s) and am getting the following error messages at the top of the public site and the admin:
    Warning: _() expects exactly 1 parameter, 2 given in /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php on line 37
    Warning: _() expects exactly 1 parameter, 3 given in /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php on line 48
    Warning: Cannot modify header information – headers already sent by (output started at /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php:37) in /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/sg-cachepress/core/Supercacher/Supercacher_Helper.php on line 79

    I have tried updating the Portfolio Pro plugin to the latest version and the error messages are still there.

    Additionally, is the plugin compatible with WordPress 5.6.x?

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Contributor Nick Cernis

    (@modernnerd)

    @madriverweb Please can you share the code on and around line 37 of your edited genesis-portfolio-pro-custom/plugin.php? It may relate to custom code added there.

    > Additionally, is the plugin compatible with WordPress 5.6.x?

    There are no known issues specific to 5.6. The project has a bug tracker here if you find anything:

    https://github.com/studiopress/genesis-portfolio-pro/issues

    Thread Starter madriverweb

    (@madriverweb)

    `<?php
    /**
    * Main Plugin File
    *
    * @package genesis-portfolio-pro
    */

    /**
    * Plugin Name: Genesis Portfolio Pro Custom Slugs
    * Plugin URI: https://wordpress.org/plugins/genesis-portfolio-pro/ modified
    * Description: Adds default portfolio to any Genesis HTML5 theme. Alters Genesis Portfolio slugs.
    * Version: 1.2.3
    * Text Domain: genesis-portfolio-pro-custom
    * Requires at least: 4.4
    * Requires PHP: 5.6
    * Domain Path: /languages
    */

    namespace GPPCS;

    require_once plugin_dir_path( __FILE__ ) . ‘genesis-portfolio-pro.php’;

    add_filter( ‘register_taxonomy_args’, ‘GPPCS\portfolio_type_args’, 10, 2 );
    /**
    * Change Genesis Portfolio Type arguments.
    *
    * @param array $args Taxonomy arguments.
    * @param string $taxonomy Current taxonomy.
    * @return array New taxonomy arguments.
    */
    function portfolio_type_args( $args, $taxonomy ) {
    if ( ‘portfolio-type’ === $taxonomy ) {
    $args[‘rewrite’][‘slug’] = ‘meeting-type’;
    $args[‘labels’][‘name’] = _x( ‘Meeting Types’, ‘taxonomy general name’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘singular_name’] = _x( ‘Meeting Type’, ‘taxonomy singular name’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘search_items’] = _( ‘Search Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘popular_items’] = _( ‘Popular Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘all_items’] = _( ‘All Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘edit_item’] = _( ‘Edit Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘update_item’] = _( ‘Update Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘add_new_item’] = _( ‘Add New Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘new_item_name’] = _( ‘New Meeting Type Name’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘separate_items_with_commas’] = _( ‘Separate Meeting Types with commas’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘add_or_remove_items’] = _( ‘Add or remove Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘choose_from_most_used’] = _( ‘Choose from the most used Meeting Types’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘not_found’] = _( ‘No Meeting Types found.’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘menu_name’] = _( ‘Meeting Types’, ‘taxonomy menu name’, ‘genesis-portfolio-pro’ );
    }

    return $args;
    }

    add_filter( ‘register_post_type_args’, ‘GPPCS\portfolio_args’, 10, 2 );
    /**
    * Change Genesis Portfolio arguments.
    *
    * @param array $args Post type arguments.
    * @param string $post_type Current post type.
    * @return array Filtered post type arguments.
    */
    function portfolio_args( $args, $post_type ) {
    if ( ‘portfolio’ === $post_type ) {
    $args[‘rewrite’][‘slug’] = ‘meeting’;
    $args[‘labels’][‘name’] = _x( ‘Meetings’, ‘post type general name’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘singular_name’] = _x( ‘Meeting’, ‘post type singular name’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘menu_name’] = _x( ‘Meetings’, ‘admin menu’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘name_admin_bar’] = _x( ‘Meeting’, ‘add new on admin bar’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘add_new’] = _x( ‘Add New’, ‘Meeting’, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘add_new_item’] = _( ‘Add New Meeting’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘new_item’] = _( ‘New Meeting’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘edit_item’] = _( ‘Edit Meeting’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘view_item’] = _( ‘View Meeting’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘all_items’] = _( ‘All Meetings’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘search_items’] = _( ‘Search Meetings’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘parent_item_colon’] = _( ‘Parent Meetings’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘not_found’] = _( ‘No Meetings found.’, ”, ‘genesis-portfolio-pro’ );
    $args[‘labels’][‘not_found_in_trash’] = _( ‘No Meetings found in Trash.’, ”, ‘genesis-portfolio-pro’ );
    }

    return $args;
    }

    Thread Starter madriverweb

    (@madriverweb)

    Hi Nick @modernnerd,

    See plugin file code above. A bit of clarification. Thw first two lines of the error message have been the same as I’ve been working on this. Some other minor changes I’ve made have resulted in the third line changing from:
    Warning: Cannot modify header information – headers already sent by (output started at /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php:37) in /home/customer/www/staging2.faystonvt.com/public_html/wp-includes/functions.php on line 6225
    to:
    Warning: Cannot modify header information – headers already sent by (output started at /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php:37) in /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/sg-cachepress/core/Supercacher/Supercacher_Helper.php on line 79
    to what I noted above, in a private browser window:
    Warning: Cannot modify header information – headers already sent by (output started at /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/genesis-portfolio-pro-custom/plugin.php:37) in /home/customer/www/staging2.faystonvt.com/public_html/wp-content/plugins/sg-cachepress/core/Supercacher/Supercacher_Helper.php on line 79
    to: no third line in a non-private browser (only the two lines)

    Thanks so much for your quick response. Hoping to present this at a 5:45 meeting (Eastern).

    Plugin Contributor Nick Cernis

    (@modernnerd)

    @madriverweb I corrected some issues with the custom code and this version works for me to create the /meeting/ URLs:

    https://gist.github.com/nickcernis/f07c9e3cd5bff249cb530dd0e62ac460

    There were two issues with the custom code:

    1. Translation functions had single underscores instead of double underscores.
    2. There were additional stray quotation marks in the function calls in the code in portfolio_args.

    You may need to visit Settings → Permalinks in the WP admin after updating the plugin file with the corrected version before you see the correct URLs and labels.

    Thread Starter madriverweb

    (@madriverweb)

    Thank you SO much Nick @modernnerd! Your changes solved the error messages and I did not have to refresh permalinks.

    I had wondered about the double underscores and hadn’t noticed the empty quotes, but mainly because the ONLY thing I changed when copying this file from a site on which it IS working, https://www.tfpny.com/member/, is the word member(s) to meeting(s). So I’m curious why it would be working there and not on the new site, if you have a moment to comment. Should I update that site, too, over concern for possible breakage, or don’t fix what ain’t broke?

    Are you available for hire or could you suggest anyone? I’m a reasonably competent developer but I don’t know PHP so I generally try to modify things that subcontractors have done for me in the past. Not always easy or successful. I work strictly with Genesis. There is a contact Webmaster link at the bottom of the site I noted, or tell me the preferred way to get my contact info to you or a colleague. Thanks again, Darlene. I left this for you to mark as resolved so as to be sure you saw this note.

    Plugin Contributor Nick Cernis

    (@modernnerd)

    @madriverweb Great to hear it helped! Thanks for the update here.

    Should I update that site, too, over concern for possible breakage, or don’t fix what ain’t broke?

    You could pre-emptively fix it in case your host changes the PHP version or error reporting configuration (a difference in those things might be why you’re not seeing the same issue there), or just see how it goes. At least you have a solution to try if you see it again.

    Are you available for hire or could you suggest anyone?

    I’m employed full-time, but you could check out the Genesis Developers listings if you need paid help, or post in the Genesis Slack #gigs channel if you just want to build your network of freelancers.

Viewing 6 replies - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.