Support » Plugin: Add Meta Tags » Function get_video_url() is referencing non-existent array offset.

  • Resolved Dan Rossiter

    (@danrossiter)


    When I run with debugging, I’m getting two Notices from amt_get_video_url():

    Notice: Undefined offset: 1 in /path/to/wp-content/plugins/add-meta-tags/add-meta-tags.php on line 842
    
    Notice: Undefined offset: 1 in /path/to/wp-content/plugins/add-meta-tags/add-meta-tags.php on line 850

    If you just check whether any matches exist before making assignments with $matches[1], this should be resolved. Here’s one option for a fix:

    function amt_get_video_url() {
        global $post;
    
        // Youtube
        $pattern = '#youtube.com/watch\?v=([-|~_0-9A-Za-z]+)#';
        if( preg_match($pattern, $post->post_content, $matches) ){
            return 'http://youtube.com/v/' . $matches[1];
        }
    
        // Vimeo
        $pattern = '#vimeo.com/([-|~_0-9A-Za-z]+)#';
        if( preg_match($pattern, $post->post_content, $matches) ){
            return 'http://vimeo.com/couchmode/' . $matches[1];
        }
    
        return '';
    }

    All the best!
    -Dan

    http://wordpress.org/extend/plugins/add-meta-tags/

Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Function get_video_url() is referencing non-existent array offset.’ is closed to new replies.