Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Artur Ivo

syntax error, unexpected 'class' (T_CLASS), expecting function (T_FUNCTION)

Recommended Posts

Tive um problema com meu código e apareceu o seguinte erro:


Parse error: syntax error, unexpected 'class' (T_CLASS), expecting function (T_FUNCTION) in /home/casamatre/www/homologacao/wp-content/themes/vox/functions.php on line 53

 

O código é:

 

 

<?php

    // DEFINES
    define('WP_SYSTEM_DIR', untrailingslashit(dirname(__DIR__ . '/../../modules/')));
    
    // WP LIST TABLE INCLUDE
    if(!class_exists('WP_List_Table'))
        require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');

    // ADD ACTION
    add_action('init', 'init');

    // INIT FUNCTION
    function init(){

        // SYSTEM CLASS
        $WP_Theme_Configs = new WP_Theme_Configs();
        $WP_System = new WP_System();
    }

    // WP THEMES CONFIGS
    class WP_Theme_Configs{

        // CONSTRUTOR
        function __construct(){

            // ADD SCRIPTS
            add_action('wp_enqueue_scripts', array($this, 'wp_enqueue_scripts'));

            // ADD THEME SUPPORT
            add_theme_support('custom-header');
            add_theme_support('post-thumbnails', array(true));
            add_theme_support('custom-background');
            add_theme_support('category-thumbnails');
            add_post_type_support('page', 'excerpt');

            // IMAGE SIZE
            add_image_size('thumbnail', 160, 160, true);
            add_image_size('equipe', 235, 220, true);
            add_image_size('produtos', 220, 150, true);
            add_image_size('blog', 315, 180, true);
            add_image_size('single', 750, 999, true);

            // MENU
            register_nav_menu('left', __('Menu Esquerdo'));
            register_nav_menu('right', __('Menu Direito'));
            register_nav_menu('footer', __('Footer'));
        }

        /* SCRIPTS*/
        public function wp_enqueue_scripts(){
                     
            /* FONTS */
            wp_enqueue_style('Open Sans', 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700'); 

            // CSS
            wp_enqueue_style('fancybox', get_template_directory_uri() . '/plugins/fancybox/jquery.fancybox.css');
            wp_enqueue_style('bxslider', get_template_directory_uri() . '/plugins/bxslider/jquery.bxslider.css');
            wp_enqueue_style('style', get_template_directory_uri() . '/css/styles.css');
            wp_enqueue_style('custom', get_template_directory_uri() . '/css/custom.css');
            
            // DEREGISTER
            wp_deregister_script('jquery');
            
            // REGISTER
            wp_register_script('jquery', 'https://code.jquery.com/jquery-1.11.2.min.js', true, '1.11.2');
            
            // ENQUEUE SCRIPTS
            wp_enqueue_script('jquery');
            wp_enqueue_script('jquery-ui', '//code.jquery.com/ui/1.11.2/jquery-ui.js');
            wp_enqueue_script('fancybox', get_template_directory_uri() . '/plugins/fancybox/jquery.fancybox.js');
            wp_enqueue_script('bxslider', get_template_directory_uri() . '/plugins/bxslider/jquery.bxslider.js');
            wp_enqueue_script('jqpagination', get_template_directory_uri() . '/js/jquery.jqpagination.min.js');
            wp_enqueue_script('scripts', get_template_directory_uri() . '/js/scripts.js');
            wp_enqueue_script('mask', get_template_directory_uri() . '/js/jquery.mask.min.js');

            // LOCALIZE
            wp_localize_script('scripts', 'ajaxurl', admin_url("admin-ajax.php")); 
        }
    }

    // WP SYSTEM
    class WP_System{

        // CONSTRUTOR
        public function WP_System($args = null){

            // PATH
            $path = WP_SYSTEM_DIR . '/';
            
            // OPEN DIR
            $dir = opendir(WP_SYSTEM_DIR);
            
            // WHILE FILES
            while(false !== ($file = readdir($dir))):

                // CONDTION
                if(($file != '.' AND $file != '..') AND file_exists($path . $file)):

                    // VERIFY IF PATH IS A DIR
                    if(is_dir($path . $file)):
                        $file = "{$file}/{$file}.php";                            
                    endif;

                    // INCLUDE FILE
                    if(file_exists($path . $file))
                        include($path . $file);

                    // INIT SET
                    if(isset($modulo))
                        new $modulo();
                endif;
            endwhile;
        }

        // TEMPLATES
        public function template($templates, array $match = null){

            // ARRAY VERIFY
            if(!is_array($templates)):
                $templates = (array)$templates;
            endif;

            // CONTENT
            $content = null;

            // FOREACH VALUES
            foreach($templates as $template):
                
                // PATCH TO TEMPLATE FILE
                $path = $template;

                // VERIFICA A EXISTENCIA DO ARQUIVO E RETORNA O CONTEUDO
                if(file_exists($path)):

                    // IF FILE EXISTIS, GET THE CONTENT AND INCREMENTS ON THE CONTENT VARIABLE
                    ob_start();
                    include($path);
                    $content = ob_get_contents();
                    ob_end_clean();
                endif;

                // IF MATCH IS NOT NULL, REPLACE ALL VALUES
                if(count($match) > 0):

                    // PREG MATCH TO %position$s
                    preg_match_all('/ (?<!%) % ( (?: [[:alpha:]_-][[:alnum:]_-]* | ([-+])? [0-9]+ (?(2) (?:\.[0-9]+)? | \.[0-9]+ ) ) ) \$ [-+]? \'? .? -? [0-9]* (\.[0-9]+)? \w/x', $content, $matchAll, PREG_SET_ORDER | PREG_OFFSET_CAPTURE);

                    // FOREACH MATCHALL
                    foreach($matchAll as &$value):

                        // REPLACE CONTENT
                        $match_value = isset($match[$value[1][0]]) ? $match[$value[1][0]] : null;
                        
                        // VERIFICA SE O VALOR CAPTURADO NÃO É UMA STRING OU INT
                        if((!is_string($match_value) && !is_int($match_value)) && (is_array($match_value) | is_object($match_value))):
                            $match_value = var_export($match_value, true);
                        endif;

                        // VERIFICA SE EXISTE UM SHORTCODE
                        $match_value = $match_value;

                        // SUBSTITUI E INCREMENTA O VALOR
                        $content = str_replace($value[0][0], $match_value, $content);
                    endforeach;
                endif;
            endforeach;

            // RETURN
            return trim($content);
        }
    }

    add_filter('getarchives_where', 'getarchives_where_filter', 10, 2);
    add_filter('generate_rewrite_rules', 'generate_blog_rewrite_rules');

    function getarchives_where_filter($where, $args){
        if(isset($args['post_type']))  
            $where = "WHERE post_type = '$args[post_type]' AND post_status = 'publish'";

        return $where;
    }

    function generate_blog_rewrite_rules($wp_rewrite){

        $event_rules = array(
            'blog/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$' => 'index.php?post_type=blog&year=$matches[1]&monthnum=$matches[2]&day=$matches[3]',
            'blog/([0-9]{4})/([0-9]{1,2})/?$' => 'index.php?post_type=blog&year=$matches[1]&monthnum=$matches[2]',
            'blog/([0-9]{4})/?$' => 'index.php?post_type=blog&year=$matches[1]' 
        );

        $wp_rewrite->rules = $event_rules + $wp_rewrite->rules;
    }

    function get_archives_blog_link($link){
        return str_replace(get_site_url(), get_site_url(), $link);
    }

    // GET IMAGE FROM URL
    function thumbnail_from_url($url, $size = ''){
        global $wpdb;

        // 
        $thumbnail = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE guid = '$url'");
        
        if(isset($thumbnail)):
            $imagem = wp_get_attachment_image_src($thumbnail->ID, $size);
            return $imagem[0];
        else:
            return $url;
        endif;
    }

    function video($URL){
        $URL = parse_url($URL);
        parse_str($URL['query'], $query);
        return $query['v'];
    }

    function excerpt($qtywords = 80, $text = null){
        if($text):
            $excerpt = explode(' ', $text, $qtywords);
        else:
            $excerpt = explode(' ', get_the_excerpt(), $qtywords);
        endif;
        
        if(count($excerpt) >= $qtywords):
            array_pop($excerpt);
            $excerpt = implode(" ", $excerpt) . ' [...]';
        else:
            $excerpt = implode(" ", $excerpt);
        endif;

        return $excerpt;
    }

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.