Forum Replies Created

Viewing 8 replies - 1 through 8 (of 8 total)
  • Thread Starter frenchesco

    (@frenchesco)

    Thanks. I think I’ve finally resolved the problem. It appears that I had the following in my .htaccess file, after removing it /feed/podcast works correctly:

    
    # Podcast feed rewrite
    <IfModule mod_rewrite.c>
    RewriteEngine On
    Options +FollowSymlinks
    RewriteRule ^feed/podcast/?$ ?feed=podcast [NC]
    RewriteRule ^feed/?$ ?feed=podcast [NC]
    </IfModule>
    

    This has been there for many years, but the update must have caused it to fail. It’s working now after I removed it. Thanks all for your assistance!

    Thread Starter frenchesco

    (@frenchesco)

    Sorry about the delay responding back.

    I do not have a custom class-feed-controller.php. I am using the following theme now:
    https://secondlinethemes.com/theme/tusant-wordpress-theme/ and was using a different theme previously and was having the same issue.

    After playing around a bit more, I’m guessing there is some issue with the priority of the rules. If I change the priority of that line from 11 to 12 it fixes the issue as well.

    add_action( 'init', array( $this, 'redirect_old_feed' ), 11 );

    to:

    add_action( 'init', array( $this, 'redirect_old_feed' ), 12 );

    From the WordPress Docs:
    https://developer.www.ads-software.com/reference/functions/add_action/

    $priority
    (int) (Optional) Used to specify the order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.

    Default value: 10

    By moving the code in release 1.20.8 it must have changed the priority of the hooks. As to why it doesn’t break in your site, I’m not sure, but there must be some difference in our sites causing it not to trigger for you.

    Thread Starter frenchesco

    (@frenchesco)

    Just tested again with version 1.20.12, this is still an issue.

    I was getting a similar error message when I updated Contact Form 7 to version 3.4.2. Replacing the add_shortcode function in wp-content/plugins/contact-form-7/includes/shortcodes.php from this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( is_callable( $func ) )
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
    }

    …to this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( ! is_callable( $func ) )
            return;
    
        $tags = array_filter( array_unique( (array) $tag ) );
    
        foreach ( $tags as $tag ) {
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
        }
    }

    …seemed to work for me. I think it has something to do with a change in PHP 5.4 and how it handles $this.

    I was getting a similar error message when I updated Contact Form 7 to version 3.4.2. Replacing the add_shortcode function in wp-content/plugins/contact-form-7/includes/shortcodes.php from this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( is_callable( $func ) )
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
    }

    …to this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( ! is_callable( $func ) )
            return;
    
        $tags = array_filter( array_unique( (array) $tag ) );
    
        foreach ( $tags as $tag ) {
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
        }
    }

    …seemed to work for me. I think it has something to do with a change in PHP 5.4 and how it handles $this.

    I was getting a similar error message when I updated Contact Form 7 to version 3.4.2. Replacing the add_shortcode function in wp-content/plugins/contact-form-7/includes/shortcodes.php from this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( is_callable( $func ) )
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
    }

    …to this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( ! is_callable( $func ) )
            return;
    
        $tags = array_filter( array_unique( (array) $tag ) );
    
        foreach ( $tags as $tag ) {
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
        }
    }

    …seemed to work for me. I think it has something to do with a change in PHP 5.4 and how it handles $this.

    I was getting a similar error message when I updated Contact Form 7 to version 3.4.2. Replacing the add_shortcode function in wp-content/plugins/contact-form-7/includes/shortcodes.php from this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( is_callable( $func ) )
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
    }

    …to this:

    function add_shortcode( $tag, $func, $has_name = false ) {
        if ( ! is_callable( $func ) )
            return;
    
        $tags = array_filter( array_unique( (array) $tag ) );
    
        foreach ( $tags as $tag ) {
            $this->shortcode_tags[$tag] = array(
                'function' => $func,
                'has_name' => (boolean) $has_name );
        }
    }

    …seemed to work for me. I think it has something to do with a change in PHP 5.4 and how it handles $this.

    It’s been a month since you posted Gizmo, so you’ve probably already figured out how to do this, but if you haven’t yet, or for the benfit of others:

    If you want to populate the From field with an email retrieved from the form, you can just add the following to \includes\processing_functions.php > ninja_mail_form function in the first foreach loop:

    if($email_from){
        $email_from = str_replace("[$label]", $val, $email_from);
    }

    It needs to be underneath the following lines:

    $id = $post['id'];
    $label = $post['label'];
    $type = $post['type'];
    $val = $post['value'];
    $extra = $post['extra'];

    Then in the admin area you can just set the Email Sent From field to [Name]<[Email]>. (You’ll need to replace [Name] and [Email] with whatever names you gave to these fields on your form).

    Would be great if it could be implemented in a future version as I really don’t like having to modify plugins this way.

Viewing 8 replies - 1 through 8 (of 8 total)