Beiträge von Demjenigen

    Aus aktuellem Anlass poste ich auch mal in diesem Sektor eine Frage:

    Eine dumme Klammer zu wenig hat mich viele Stunden, Nerven und Humor gekostet.
    Und ich stehe auf dem Standpunkt, dass die Software mich auf den Fehler hätte hinweisen müssen.

    Verwendet hatte ich Komodo Edit 5.2.4

    Zwar stellt diese Software alles übersichtlich bunt dar, jedoch Syntax-Checking – Fehlanzeige!

    Was wird denn "da draußen in der PHP-Welt" alles so verwendet?
    Gibt's eigentlich ein Add-on, dass speziell auf WordPress ausgerichtet ist?

    Grüße reihum!

    Ich glaube nicht, dass es das ist.
    Oder ich verstehe die Feinheiten der Syntax nicht.

    Mein Versuche, über page_id bzw. page_name an den Text ranzukommen, haben nicht funktioniert.

    get_template_part erlaubt mir, nach einem php-file in einer von mir vorgegebenen Reihenfolge zu suchen, wenn ich das richtig verstehe.
    Ich suche aber kein komplettes PHP-file, ich suche nur nach dem Text in der DB.
    ?

    Ich dachte eigentlich, das sei trivial.
    Ist es ja auch, auf eine Weise.

    Trotzdem natürlich danke!

    Bin ich meschugge?

    Wie fülle ich einen statischen Text in die Homepage?

    Ich habe im Backend eine statische Seite erstellt, heißt auch "Home", und ein bisschen Willkommens-Text eingefügt.

    Dieser Text soll auf meiner home.php dargestellt werden (und nicht verlinkt werden). Ich will also nicht die Backend-Home-Seite als Homepage benutzen, sondern nur den Text daraus.

    wp_list_pages funktioniert nicht (ist ja auch eher für Links zuständig), the_content bietet keinen Parameter zum Aufruf der Seite per Namen oder per ID.

    Ich dache, ich mache das mal eben fix, aber... ich finde keinen passenden Aufruf.

    Verwirrte Grüße

    Ich habe ein grundsätzliches Verständnisproblem, was die neue Menüstruktur in WP3 angeht.

    Meine Menüs funktionieren jetzt zwar alle, insofern mag diese Frage hier wie Luxus anmuten.

    Aber:
    Warum registriere ich Menüs in functions.php, wenn ich die Menüs doch im Backend erstelle? Das müsste doch schon reichen!
    Wäre es nicht einfacher, ohne "Registrationszwang" einfach im Backend die Menüs zu erstellen und sie im Theme/in den Templates dort aufzurufen, wo man möchte?
    Das einzige, was das Backend nicht anbietet, ist die Unterscheidung zwischen WP-'Slug'-Titel und Titel-für-Menschen-wie-Du-und-ich, das könnte es ja aber eigentlich, schließlich wird das für Artikel und Kategorien auch angeboten.

    Ich frage deswegen, weil ich als WP-/PHP-Neuling befürchte, etwas redundantes oder sinnloses zu machen. Die funktionierenden Menüs geben mir zwar Recht, aber vielleicht mache ich ja doch "irgendwas falsch".

    Oder habe ich tatsächlich "lediglich" eine kleine WP-Usability-Schwäche entdeckt, mit der man halt (noch?) leben muss?

    Grüße in den elektronischen Äther!

    P.S.: Auch der Tabname "Anordnung im Theme" verwirrt mich. Da wird gar nichts angeordnet, das tue ich rein allein dadurch, dass ich den Aufruf in der Quelldatei da hinsetze, wo ich ihn für sinnvoll halte. WP verknüpft nur ein Menü mit den in der functions.php hinterlegten Namen.
    Oder verstehe ich da was miss?...

    Teil 1 hat sich erledigt, eine dumme Klammer war's.

    Meine Schwierigkeiten mit einem der Menüs sowie mit dem grundsätzlichen Verständnis bleiben.

    Edit 20.9.2010: Ich eröffne einen eigenen Thread zum Thema "Grundsatzverständnis" mit diesem Thema. Ist ja doch ein bisschen off-topic hier.
    Edit 21.9.: Das zweite Menü ist repariert. War ein CSS-Problem, kein WP.

    Code tut nicht

    Was mach ich falsch?
    Wenn ich das folgende Snippet aus http://codex.wordpress.org einfüge, lediglich meine eigenen Namen angebe und die andere Variante (darunter) auskommentiere, ist das Backend wieder weg/weißes Browserfenster.

    Die drei unteren Zeilen funktionieren.

    Topnavigation super,
    Die Zielgruppennavigation zeigt nur den ersten Menüpunkt an, aber da bin ich noch am Probieren, ob's am CSS liegt...

    Es gibt aber noch ein weiteres Verständnisproblem:
    Wenn ich im Backend ein Menü erstelle und ihm einen Namen gebe, müsste das doch ausreichen. Warum also dieses Doppel-Gemoppel mit einerseits in functions.php Menüs registrieren, nur damit ich andererseits im Backend das Menü Top der "Anordnung im Theme" Top zuordne, das Menü Zielgruppe der "Anordnung im Theme" Zielgruppe etc.

    Oder mach ich da tatsächlich einen Bogen zuviel? ...

    Hat geklappt.
    Allerdings habe ich eine Weile rumgefrickelt, weil ich zunächst eine andere Schreibweise hatte -->

    PHP
    if ( function_exists( 'register_nav_menus' ) ) {
            register_nav_menus(
                array(
                  'menu_1' => 'Menu 1',
                  'menu_2' => 'Menu 2'
                )
            );
        }

    --> und die funktionierte rein gar nicht. Nur noch ein weißes Fenster statt Theme.

    Dabei hatte ich das einfach aus einem anderen Theme herauskopiert.
    Ich verstehe nicht, warum diese Schreibweise nicht funktioniert, bin aber froh, dass ich's über Deine (maxe) Schreibweise hinbekomme.

    Danke, hat geklappt.
    Ich habe testweise die functions.php ausge-x-t, et voilà.

    Aber:
    Ich verstehe nicht, was WP an meiner functions.php auszusetzen hat. Ich bin aber PHP-Säugling und kann's vermutlich nicht beurteilen.
    Darf ich einfach mal alles hier reinkopieren, was ich in dieser Datei stehen habe, und eine Erläuterung hierzu erbitten? Danke.

    Also:

    Mein Tipp ist, dass oben 'register_my_menus' irgendwie verbockt ist. Das will ich aber, weil ich die Menüs auf 3er-Niveau hieven will.

    Oje.

    Kann mir jemand erklären, wieso ich nach dem Login ins Backend einen weißen Bildschirm bekomme?
    Ich habe nichts an der DB verändert. Die Installation (3.0.1) lief jetzt Wochen fehlerfrei...

    Das ist jetzt nicht so gut :-?

    Kann es daran liegen, dass ich gerade versuche, eine Theme zu erstellen? Andererseits, das hat doch mit dem Backend selbst gar nichts zu tun...??


    – Danke vorab und Grüße –

    Hallo Forum,

    längere Abwesenheit, jetzt wieder WP-technisch dabei.
    Wieder kurz zum Hintergrund: Bin WP- und PHP-Anfänger und erstelle mein erstes Theme. Oder eigentlich erstellt es dieses Forum ;-) mit *meiner* Hilfe – hach, lustig...

    Zur Sache:
    Auf der Homepage meines Themes sollen Teaser angezeigt werden, zu denen auch Fotos gehören. Oben Foto, darunter Überschrift und Anriss mit "Weiterlesen".

    Es geht ums Einbinden der Abbildungen.

    Die uneleganteste Möglichkeit wäre, hier auf WP zu verzichten und die Bilder hart zu verdrahten. Dann muss eben der Webmaster ran, wenn die Teaser-Fotos sich ändern sollen.
    Eleganter wäre es, die Bilder abhängig von den Pages oder Posts einzubinden.

    Zuerst mal die Frage: Gibt's für dieses Anliegen überhaupt eine Lösung?
    Und falls ja, gibt es Möglichkeiten zur Steuerung der Bildgröße bzw. zur Wahl des Ausschnitts, denn der Platz für die nebeneinander liegenden Teaser ist viel kleiner als für eine Abb. innerhalb einer Seite / eines Posts.
    Oder gibt's jetzt schon andere Möglichkeiten?

    Vielen Dank – auch noch ein Mal explizit für die vielen Gedanken, die zu meinen anderen Fragen geäußert wurden!

    – Grüße in den virtuellen Äther –

    Ja, so kann dat ja nicht gehen:
    Ich hatte noch eine front-page.php im Ordner herumliegen, die mich veräppelt hat.
    (Was ist überhaupt der Unterschied zwischen home und front-page...?)

    Inzwischen ist sie weg, header, sidebar, footer anständig ausgelagert - das Skript funktioniert auch - alles bestens...

    ...und zwar so bestens, dass ich auf meinen ursprünglichen Betreff zurückkomme: Animation

    Anstatt zu springen, soll der Übergang zwischen Homepage-Header und "Sonstiges"-Header sanft stattfinden.
    Ich habe auch ein Javascript gefunden, dass im Zusammenhang mit CSS3-Attributen funktioniert. Ein kleiner Dummy mit zwei HTM-Seiten zum Hin- und Herschalten funktioniert wunderbar und macht genau das, was ich will: Die beiden Seiten enthalten unterschiedliche IDs, ein Mal #header, ein Mal #headerhome, beide unterscheiden sich in der Höhe. Durch Umschalten wird der Header innerhalb einer Sekunde höher oder niedriger - toll.

    Der Haken: Im Javascript gibt's ein Element el, das den Wert der CSS-ID abgreift:

    Code
    el.id = "header"

    Es gibt auch einen querySelector, der ebenfalls als Attribut die ID zugewiesen bekommt, das sieht dann so aus:

    Code
    el = document.querySelector("div#header");

    Nur, wie muss man das schreiben, damit die Klasse .home zusammen mit der ID #header abgefragt wird?
    Die Klasse wird über el.className abgefragt, aber wie die Kombination aus beiden, also ".home #header {}"
    Meine diversen Schreibversuche haben nicht hingehauen.

    Gibt's jemanden hier, der sich mit JS entsprechend auskennt?

    Anbei das komplette Skript:

    und dass CSS hierzu:

    Ach so: Funktioniert nicht in Firefox, aber in Safari 5 und Opera 10.6 (was ich in Kauf nehme. Firefox 4 soll damit klar kommen, sagt man, und wer die Transition nicht bekommt, vermisst sie vielleicht auch gar nicht...).

    Kann es sein, dass das body-Tag nicht in der header.php sondern z.B. der page.php und index.php und ggf. weitere steht?

    Der Tag steht in der index.php, weil ich noch gar keine eigenen Templates abgeleitet habe (also header/footer/sidebar... .php).

    Allerdings, und das finde ich auch komisch, habe ich die home.php ausge-x-t (xhome.php), und sie wird trotzdem angezeigt...
    Ich dachte, WP sucht explizit nach dem String 'home.php'?

    Irgendwas tut nicht - oder ich verstehe etwas miss...
    Zustand jetzt: Der Header verschwindet auf der Homepage, ist bei allen anderen Seiten vorhanden.

    Ich hab's so wie oben angegeben versucht und auch mit

    PHP
    <body class="<?php body_class(); ?>" >

    , but alas, to no avail.
    Wenn ich mir den Quelltext anzeigen lasse, steht auf der Homepage nur <body>. Keine Klasse.
    Wenn ich eine Unterseite aufrufe, erhalte ich im Quelltext:

    HTML
    <body class="page page-id-78 page-child parent-pageid-2 page-template page-template-default logged-in">

    Die ID #headerhome habe ich zugunsten von .home #header abgeschafft, und trotzdem erscheint im Quelltext nach Reload eine ID #headerhome. Wie kann denn das sein...?

    ???


    Das mach ich immer so, dass ich auf der Obersten Ebene nur die seiten Topnav und Hauptnav habe und dann entsprechend Unterseiten hinzufüge, dann kann man zweimal [COLOR=#000000][COLOR=#0000bb]<?php wp_list_pages[/COLOR][COLOR=#007700]([/COLOR][COLOR=#007700]); [/COLOR][COLOR=#0000bb]?>[/COLOR] [/COLOR]nehmen und entsprechend den parameter [COLOR=#000000][COLOR=#dd0000]child_of[/COLOR][/COLOR] einstellen...

    nepf,

    Könnte man das mit einer if-else-Weiche lösen?
    Angenommen, ich würde Dein System mit den beiden Hauptseiten übernehmen, dann könnte man zwei unterschiedliche "Snippets" erstellen und per "if is_child_of ()" bestimmen, welcher der Codes wie auf welche Hauptseite (und die darunter liegenden Seiten) einwirkt.

    Mein PHP ist scheiße, aber in der Theorie... könnte das so gehen??

    Und wenn ich schon dabei bin: Warum fängt das Snippet oben mit irgendeinem "global" an? Verstehe ich nicht...

    Grüße

    So, nächster Brocken:

    (Also, allmählich fühle ich mich wohl hier ;-) )

    Mein Theme soll zwei unterschiedliche Header erhalten, wobei nur die Höhe (height) sich ändert. Die Homepage soll höher sein als der Rest.

    Bislang habe ich mir damit beholfen, dass ich den Kopfbereich von home.php nicht ausgelagert, sondern manuell kopiert und eine entsprechende ID eingefügt habe (#headerhome).
    Das ist ja aber eigentlich Blödsinn.

    Ich müsste doch vermutlich eine if-else Weiche im Header notieren, nur weiß ich nicht, wie das geht. PHP-Analphabet. In Copy/Pasten bin ich hingegen Spitze ;-)

    Kann mir jemand sagen, wie ich WP "dynamisch" anweise, auf home.php eine andere Header "height" anzuzeigen?
    Mein CSS enthält ein #header {height:54px;} und ein #headerhome {height:124px;}.

    Danke!