Cum să afișezi cod dacă nu este pe anumite pagini?

22 aug. 2011, 01:46:13
Vizualizări: 31.7K
Voturi: 3

Încerc să creez o instrucțiune if pentru a afișa un anumit cod, dacă utilizatorul se află pe o anumită pagină. Am reușit să fac să funcționeze paginile de linkuri și lucrări studențești, dar când adaug if not link și not student work primesc o eroare T_BOOLEAN_AND neașteptată. Cum pot repara acest lucru astfel încât să pot enumera paginile pentru care nu vreau cod personalizat și să folosesc doar page.php

<?php 
            if (!is_page('links') && !is_page('student-work'))  {
                include(TEMPLATEPATH . '/pages/page.php');
            } elseif (is_page('links')) {
                query_posts('cat=2');
                include(TEMPLATEPATH . '/pages/links.php');
            } elseif (is_page('student-work')) {
                query_posts('cat=4');
                include(TEMPLATEPATH . '/pages/student-work.php');
            }
?>
0
Toate răspunsurile la întrebare 2
1

Tocmai am folosit acest cod și funcționează pentru mine. Sper să îți rezolve problema.

if( ! is_page( array( 'linkuri', 'lucrari-studenti' ) ) { /* ... */ }
26 ian. 2017 22:05:07
Comentarii

Puteți edita răspunsul dvs. și să detaliați de ce această soluție răspunde la întrebarea OP, precum și să furnizați orice link-uri care susțin modul în care aceasta rezolvă problema?

Howdy_McGee Howdy_McGee
26 ian. 2017 22:35:39
0

Acesta este pur și simplu PHP, nu WordPress, dar declarația ta if inițială are o paranteză în plus după !is_page('links'), astfel încât && este în afara ei și PHP nu știe ce să facă cu ea. Ar fi mai bine să reorganizezi blocul oricum, de exemplu:

<?php 
        if (is_page('links')) {
            query_posts('cat=2');
            include(TEMPLATEPATH . '/pages/links.php');
        } elseif (is_page('student-work')) {
            query_posts('cat=4');
            include(TEMPLATEPATH . '/pages/student-work.php');
        }
        else  {
            include(TEMPLATEPATH . '/pages/page.php');
        }
?>

În ceea ce privește WordPress, probabil ar fi mai bine să folosești fișiere șablon specifice paginilor, cum ar fi page-links.php sau page-student-work.php. Ai putea folosi și get_template_part() în loc de include-uri pentru a realiza ceea ce face blocul if/else într-o singură linie, dacă ai nevoie să păstrezi toate acestea într-un singur fișier din anumite motive.

22 aug. 2011 04:52:47