• User Attivo

    Problema con funzioni duplicate

    Sto lavorando su un nuovo tema per il mio blog, inizialmente presentava svariati problemi che sono riuscito a risolvere, a parte uno:
    Attivando il tema online il sito diventa irraggiungibile, mentre provandolo in locale sembrerebbe che l'errore sia causato da alcune funzioni duplicate:

    Fatal error: Cannot redeclare set_default_image() (previously declared functions.php:129) in framework\functions.php on line 81
    
    

    Eliminando queste due funzioni (nel file functions.php della cartella "framework") sembrerebbe funzionare tutto, a parte un paio di plugin che mi generano delle immagini.

    
    function set_default_image(){
        global $post;
        $image = str_img_src($post->post_content);
        if($image != ""){
            echo '<link rel="image_src" href="'. $image . '" />' . "\n";
        }
    }
    add_action('wp_head', 'set_default_image');
    
    function str_img_src($html) {
        if (strpos($html, '<img') !== false) {
            $imgsrc_regex = '#<\s*img [^\>]*src\s*=\s*(["\'])(.*?)\1#im';
            preg_match($imgsrc_regex, $html, $matches);
            unset($imgsrc_regex);
            unset($html);
            if (is_array($matches) && !empty($matches)) {
                return $matches[2];
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
    
    

    C'è modo di modificare quelle funzioni per far funzionare il sito e anche il plug-in?


  • Super User

    Il secondo codice, lo usi per generare le anteprime per la condivisione su Facebook?


  • User Attivo

    Esattamente non so cosa usa cosa, però togliendo quelle 2 funzioni non mi funziona più il plugin che mostra "X" anteprime delle immagini degli articoli in modo casuale.

    Quello che non capisco è perché ci sono queste funzioni in questi due file che vanno in conflitto, nel tema che ho attualmente sul blog non c'era questo problema.