Ondersteuning » Code oplossingen gezocht » css aanpassen voor custom post type

  • Opgelost Marenubium

    (@marenubium)


    Ik hoop dat iemand me even verder op weg kan helpen.

    Testsite: deze draait op mijn eigen pc als test, ik weet niet of ik daar naar mag linken. De officiële site: http://www.profisens.nl

    Wat ik wil: een bericht over de volle breedte van mijn site.
    Hiervoor heb ik een custom post type ‘single-artikel.php’ aangemaakt.
    Geval wil dat #logo, #left-col en #subnav aan de linkerkant blijven staan, terwijl ik die gewoon weg wil hebben in ‘artikel’.
    Ben nu teveel aan het prutsen, wellicht is er een simpele oplossing voor.
    Ik heb deze code in header.php gezet, maar die werkt niet:

    ‘<?php if (is_singular(‘artikel’) ) {
    $left_col = “off”;
    $cols = $cols – 1;
    } ?>’
    Tevens heb ik #contentwide gedefinieerd en toegevoegd aan m’n css, en deze aangeroepen in single-artikel.php:
    ‘<div id=”contentwide”>’
    Deze werkt wel, alleen zet ie nu het bericht onder #left-col en dergelijke.

    is er een oplossing dat ik ergens ‘artikel’ kan aanroepen met #logo, #subnav en #left-col uitgeschakeld?

    Alvast bedankt 🙂

8 reacties aan het bekijken - 1 tot 8 (van in totaal 8)
  • Je kan evt. werken met CSS body class, e.g.:

    .single-artikel #left-col {display:none}

    of html/php oplossing:

    <?php if( ! is_singular( 'artikel' ) ) { ?>
        <div id="left-col">
            ...
        </div>
    <?php } ?>
    Thread starter Marenubium

    (@marenubium)

    Bedankt!!

    Maar die onderste werkt niet. Mijn logo verschuift nu wel naar rechts, en links verschijnen er 3 puntjes.

    En de eerste oplossing, ik neem aan dat die in de style.css moet staan.
    Hoe roep ik die class precies aan in single-artikel.php, en als dat voor #subnav en #logo ook moet?

    De body class oplossing gaat idd in style.css. Check wel even of je theme het ondersteunt, in header.php zou je ’t volgende moeten zien: <body <?php body_class(); ?>>. Je zou dus als volgt kunnen te werk gaan:

    .single-artikel #logo,
    .single-artikel #left-col,
    .single-artikel #subnav {display:none}

    De php oplossing hierboven moet je uiteraard niet zomaar overnemen (zie de …), de bedoeling is dat je een voorwaardelijke constructie bouwt rond de elementen die je NIET wil zien verschijnen bij je artikels:

    <?php if( ! is_singular( 'artikel' ) ) { ?>
        // html hier
    <?php } ?>
    Thread starter Marenubium

    (@marenubium)

    body_class staat inderdaad in header.php

    Goed, de regels toegevoegd aan style.css.
    Als ik dan dit aanroep in single-artikel.php:
    ‘<div id=”logo” class=”single-artikel”>’
    Zou ik toch geen logo meer moeten zien?

    Verder, als ik de if is_singular gebruik in header.php:

    <?php if( ! is_singular( 'artikel' ) ) { ?>
        <div id="logo" style="display:none;">
    </div>
    <?php } ?>

    verschuift mijn hele site op naar links. Maar logo blijft staan. Het werkt ergens wel, nu nog de juiste syntax zien te vinden… En daar ben ik nu juist al een paar dagen mee aan het prutsen. Sorry, ben nog niet helemaal thuis in de php/css wereld.

    Om te verduidelijken, CSS body class werkt als volgt:

    #logo {width:300px} wordt overal op je website toegepast
    .single-artikel #logo {width:150px} wordt enkel toegepast als de body tag (<body>) de class single-artikel heeft

    Je hoeft de class dus niet toe te voegen aan individuele elementen.

    Ivm de php oplossing: wanneer je style="display:none;" inline toevoegt zal je logo in principe nergens verschijnen. Dat is niet de bedoeling denk ik.

    Een alternatieve oplossing is: open single-artikel.php en verander get_header() in get_header( 'artikel' ). Maak vervolgens een kopie van header.php en hernoem de kopie naar header-artikel.php. Deze header zal enkel verschijnen bij single posts van het type artikel en kan je vervolgens helemaal naar jouw wensen aanpassen.

    good luck!

    Thread starter Marenubium

    (@marenubium)

    omg omg omg

    dat body class dingetje deed ’t ‘m!!! Hier heb ik nog nooit gebruik van gemaakt…
    #contentwide hoeft nu ook niet meer gebruikt te worden.
    Enige wat ik toe moest voegen aan single-artikel.php was de body class.
    Gosh, heel erg bedankt donutz!! super 🙂

    Thread starter Marenubium

    (@marenubium)

    Helemaal geweldig, en bij deze online & werkend!
    Opgelost!

    Nogmaals mijn dank 🙂

8 reacties aan het bekijken - 1 tot 8 (van in totaal 8)
  • Het onderwerp ‘css aanpassen voor custom post type’ is gesloten voor nieuwe reacties.