这个PHP代码有什么问题?这是一个WordPress论坛插件

时间:2017-11-24 16:44:58

标签: php wordpress

我在我的WordPress 4.9网站上使用wpForo插件(用于论坛)。当有人上传图片时,它会默认显示附件的链接。以下代码由插件制作者提供,它应该将附件链接转换为实际图像:

add_filter('wpforo_content_filter', 'wpforo_default_attachment_image_embed', 11);
function wpforo_default_attachment_image_embed( $content ){
    if( preg_match_all('|<a class=\"wpforo\-default\-attachment\" href\=\"([^\"\']+)\"[^><]*>.+?<\/a>|is', $content, $data, PREG_SET_ORDER) ){
        foreach($data as $array){
            if(isset($array[1])){
                $file = $array[1];
                $e = strtolower(substr(strrchr($file, '.'), 1));
                if( $e == 'jpg' || $e == 'jpeg' || $e == 'png' || $e == 'gif' ){
                    $filename = basename($file);
                    $html = '<a class="wpforo-default-image-attachment" href="' . esc_url($file) . '" target="_blank"><img src="' . esc_url($file) . '" alt="' . esc_attr($filename) . '" title="' . esc_attr($filename) . '" /></a>';
                    $content = str_replace($array[0], $html, $content);
                }
            }
        }
    }
    return $content;
}

你能看到代码有什么问题吗? WordPress不会将代码保存在我的functions.php文件(子主题或父主题)中,通过FTP添加代码会使站点崩溃,当我尝试将代码放入使用第三方PHP插件时,它说代码会导致致命的错误。

我也联系了我的主题支持,他们告诉我它与代码或插件有关,与主题无关。

开发人员告诉我这些代码适用于其他几十个人,但我不确定WordPress 4.9上是否还有其他人尝试过它,如果这可能导致问题。

非常感谢任何帮助 - 谢谢!

0 个答案:

没有答案