Wie darf ich das verstehen? Welche Tags sind wo im Einsatz?
Ich habe, wie gesagt, keine Ahnung vo der Materie.
Ein Kollege hat mir ausgeholfen heute Nachmittag. Die News gehen soweit wieder, mussten insgesamt 5 Zeilen angepasst werden in category-template.php und link-template.php
Das sah dann so aus:
category-template.php
--0024--
$catlink = $file . '?cat=' . $category_id;
--> $catlink = $file . '?lang='.$_GET[lang].'&cat=' . $category_id;
link-template.php
--0157--
$permalink = trailingslashit(get_option('home')) . '?p=' . $post->ID;
--> $permalink = trailingslashit(get_option('home')) . '?lang='.$_GET[lang].'&p=' . $post->ID;
--0231--
$link = trailingslashit(get_option('home')) . "?page_id=$id";
--> $link = trailingslashit(get_option('home')) . "?lang=".$_GET[lang]."&page_id=$id";
--0295--
return apply_filters('year_link', trailingslashit(get_option('home')) . '?m=' . $year, $year);
--> return apply_filters('year_link', trailingslashit(get_option('home')) . '?lang='.$_GET[lang].'&m=' . $year, $year);
--0320--
return apply_filters('month_link', trailingslashit(get_option('home')) . '?m=' . $year . zeroise($month, 2), $year, $month);
--> return apply_filters('month_link', trailingslashit(get_option('home')) . '?lang='.$_GET[lang].'&m=' . $year . zeroise($month, 2), $year, $month);
--0350--
return apply_filters('day_link', trailingslashit(get_option('home')) . '?m=' . $year . zeroise($month, 2) . zeroise($day, 2), $year, $month, $day);
--> return apply_filters('day_link', trailingslashit(get_option('home')) . '?lang='.$_GET[lang].'&m=' . $year . zeroise($month, 2) . zeroise($day, 2), $year, $month, $day);
Alles anzeigen
Die Nummern sind die Zeilen der jeweiligen Datei, die --> Pfeile, in was es geändert werden soll.
Außer es geht auch anders, einfacher. Wenn ja, würde es mich freuen davon zu erfahren. Außer es war gerade was komplett anderes gemeint, und ich habe Murks im Code (erster Post) gebaut.
Danke für's Antworten.
EDIT 11okt2009 - 9:25Uhr:
Ich habe jetzt ein paar Tags ausgetauscht, geändert hat sich jedoch nur wenig, immerhin geht es ja von Übernahme von Werten die Pagespezifisch sind (siehe etwas weiter oben).
Hier ist der Code der news.php, die WP ausließt. Alle anderen Template Tags waren (wenn ich nichts übersehen habe), in Ordnung.
gestrichen, der Übersicht halber
EDIT 11okt2009 - 11:14:
Ich habe jetzt doch noch mal die Template Tags angesehen und die news.php angepasst. In der Tat werden die "?lang=" Tags mit übernommen.
Anbei der "geänderte code":
<?
if ($_GET[page_id] == 1) {
?>
<div id="content" class="widecolumn">
<?php get_search_form(); ?>
<h2>Archives by Month:</h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
<h2>Archives by Subject:</h2>
<ul>
<?php wp_list_categories(); ?>
</ul>
</div>
<?
} else {
?>
<div class="headline">NEWS BLOG:<br> </div>
<!-- // loop start -->
<table width="800" border="0" align="left">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<tr>
<td align="left" class="newsheadline">
» <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</td>
</tr>
<tr>
<td align="left" valign="top" height="20" class="newsdate">
Posted on <?php the_date('l, j. F Y'); ?> - <?php the_time() ?> - <?php the_category(',') ?>
</td>
</tr>
<tr>
<td align="left" class="normtext">
<?php the_content(); ?>
<p> <br> </p>
</td>
</tr>
<!-- // this is just the end of the motor - don't touch that line either :) -->
<?php endwhile; else: ?>
<tr>
<td align="left">
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
</td>
</tr>
<?php endif; ?>
<tr>
<td align="left" valign="bottom" height="30">
<p style="text-align:right;"><a href="<?php the_permalink() ?>&page_id=1">...to the Backlog</a></p>
</td>
</tr>
</table>
<?
}
?>
Alles anzeigen
Es wird keine "in-depth" Modifikation (siehe oben) mehr benötigt, auch keine searchform.php mehr, was sehr entspannend ist. Lediglich in der index.php des Page Templates steht noch:
require_once('../news/wp-blog-header.php');
Da ich jedoch nicht mehr über den Pagecode meiner Page weiß (da keine Ahnung von PHP und Webmaster non-existent), weiß ich nicht ob das so korrekt ist oder nicht.
Jetzt treten aber immer noch mehrere Probleme auf:
Problem 1)
Der "to Backlogs" Link rechts unten in den News wird mittels the_permalink() aufgerufen und um den Wert &page_id= erweitert, damit er das Archiv lädt (siehe Code oben). Brauch ich wirklich diesen Permalink Code?
Problem 2)
Das Suchfenster get_search_form() funktioniert, übernimmt aber nicht ?lang=. Demzufolge verschwindet links wieder das Menü. (ging auch nach in-depth Modifikationen nicht)
Problem 3)
Das Datum fehlt bei den Newseinträgen in der "Hauptseite". Es wird nur Datum vom obersten Eintrag gezeigt. Sobald neue Einträge hinzu kommen, verschwinden die Datumsangaben der anderen Einträge darunter. Ebenso fehlen diese über das Archiv (z.B. wenn man auf Oktober 2009 klickt, oder Kategorie).
Klickt man jedoch direkt auf den Eintrag (Newstitel oder via das Archiv), so sind die Datumswerte wieder da. Woran könnte das liegen?
Problem 4)
Der RSS Feed wird im Header meiner Page folgendermaßen abgerufen bzw. angeboten (wobei ich nicht weiß, ob der noch so korrekt ist):
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://www.studio-compyfox.de/news/?feed=rss2">
Bzw. auf der Page selbst
<A HREF="../news/?feed=rss2&lang=<?echo $_GET[lang];?>
Da wird der Sprach-Tag wiederum angehängt. Weiß aber nicht, ob auch in Feed-Interpretern wie SAGE
Wenn ich allerdings den RSS Feed in Firefox 3.x ansehe (der via Header Befehl in die Page eingetragen wurde), und mit der Maus auf einen Link klicke, wird zwar ein &lang= Befehl hinzugefügt (keine Ahnung woher), aber kein de/en Wert. Sieht ungefähr so aus:
http://www.studio-compyfox.de/studio/?lang=&p=4
Demzufolge fehlt wieder links die Menüleiste, bei allen, die den RSS Feed Aboniert haben und über diesen die Page besuchen, anstelle über den Root-Link. Der "Link" im Menü auf meiner Page übergibt den Sprach-Tag jedoch auch in den RSS Feed - aber ich möchte das gerne über den Header gehandhabt haben.
Wenn diese vier (hoffentlich) kleinen Probleme ausgemerzt sind, kann ich WP's Datenbank noch mal sauber installieren und sollte glücklich sein, bis die nächste Version rauskommt. ;)