Beiträge von Wolf Larsen
-
-
Ok, ich bin etwas weiter. Von der Theorie würde es helfen, wenn wie von maxe beschrieben, in meinem Fall ein
vor die Loop kommt. Da der Sticky nur auf der ersten Seite steht, kann man ihn auf Folgeseiten unterdrücken. Nun taucht dadurch wieder mein altes Kriegsleiden mit der Seitennavigation auf, denn query_post überschreibt alles. Nun hatte ich diese Thema schonmal hier. Ich wollte schlau sein und habe diesen Code versucht nachzubauen.
PHP
Alles anzeigen<?php if (is_paged()) { global $wp_query; query_posts( array_merge( array( 'caller_get_posts' => '1', $wp_query->query ) ); } ?>
Doch meine plumper Versuch schlägt fehl. Habe ich einen doofen Fehler gemacht oder funktioniert die Zauberei nicht mit caller_get_posts?Danke,
Wolf -
Hier ist mal meine theloop.php
PHP
Alles anzeigen<?php // This is the loop, which fetches entries from your database. // It is a very delicate piece of machinery. Be gentle! // Get core WP functions when loaded dynamically if ( isset($_GET['k2dynamic']) ): // Check for CGI Mode if ( 'cgi' == substr( php_sapi_name(), 0, 3 ) ): require_once( preg_replace( '/wp-content.*/', '', __FILE__ ) . 'wp-config.php' ); else: require_once( preg_replace( '/wp-content.*/', '', $_SERVER['SCRIPT_FILENAME'] ) . 'wp-config.php' ); endif; if ( $_GET['k2dynamic'] != 'init' ): // Send the header header('Content-Type: ' . get_bloginfo('html_type') . '; charset=' . get_bloginfo('charset')); // K2 Hook do_action('k2_dynamic_content'); // Initialize the Loop query_posts( $_GET ); endif; ?> <div id="dynamictype" class="<?php k2_body_class(); ?>"> <?php endif; // Debugging if ( isset($_GET['k2debug']) ): echo '<div class="alert">'; echo '<b>SQL:</b><br />'; var_dump($wp_query->request); echo '<b>Query:</b><br />'; var_dump($wp_query->query); echo '</div>'; endif; // Get the asides category $k2asidescategory = get_option('k2asidescategory'); $k2rollingarchives = get_option('k2rollingarchives'); /* Check if there are posts */ if ( have_posts() ): /* Post index for semantic classes */ $post_index = 1; ?> <?php /* Start the loop */ while ( have_posts() ): the_post(); ?> <div id="post-<?php the_ID(); ?>" class="<?php echo attribute_escape(k2_post_class($post_index++, in_category($k2asidescategory), false)); ?>"> <div class="entry-head"> <h3 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark" title='<?php printf( __('Permanent Link to "%s"','k2_domain'), wp_specialchars(strip_tags(the_title('', '', false)),1) ); ?>'><?php the_title(); ?></a></h3> <?php if (function_exists('the_subheading')) { the_subheading('<h3>', '</h3>'); } ?> </div> <!-- .entry-head --> <div class="entry-content"> <?php the_content(sprintf(__('Continue reading \'%s\'', 'k2_domain'), the_title('', '', false))); ?> <?php wp_link_pages('before=<p class="page-links"><strong>' . __('Pages:','k2_domain') . '</strong>&after=</p>'); ?> </div> <!-- .entry-content --> <div class="entry-meta"> <?php printf( __('<span class="meta-start">Published</span> %1$s %2$s %3$s<span class="meta-end">.</span>','k2_domain'), '<div class="entry-author">' . sprintf( __('<span class="meta-prep">by</span> %s','k2_domain'), '<address class="vcard author"><a href="' . get_author_posts_url(get_the_author_ID()) .'" class="url fn" title="'. sprintf(__('View all posts by %s','k2_domain'), attribute_escape(get_the_author())) .'">' . get_the_author() . '</a></address>' ) . '</div>', '<div class="entry-date">' . ( function_exists('time_since') ? sprintf(__('%s ago','k2_domain'), '<abbr class="published" title="' . get_the_time('Y-m-d\TH:i:sO') . '">' . time_since(abs(strtotime($post->post_date_gmt . " GMT")), time()) . '</abbr>') : sprintf(__('<span class="meta-prep">on</span> %s','k2_domain'), '<abbr class="published" title="' . get_the_time('Y-m-d\TH:i:sO') . '">'. get_the_time( get_option('date_format') ) . '</abbr>') ) . '</div>', '<div class="entry-categories">' . sprintf( __('<span class="meta-prep">in</span> %s','k2_domain'), k2_nice_category(', ', __(' and ','k2_domain')) ) . '</div>' ); ?> <?php /* Comments */ comments_popup_link('0 <span>'.__('Comments','k2_domain').'</span>', '1 <span>'.__('Comment','k2_domain').'</span>', '% <span>'.__('Comments','k2_domain').'</span>', 'commentslink', '<span>'.__('Closed','k2_domain').'</span>'); ?> <?php /* Tags */ if (is_single() and function_exists('UTW_ShowTagsForCurrentPost')) { ?> <span class="entry-tags"><?php _e('Tags: ','k2_domain'); ?><?php UTW_ShowTagsForCurrentPost("commalist"); ?>.</span> <?php } elseif (is_single() and function_exists('the_tags')) { ?> <span class="entry-tags"><?php the_tags(__('Tags: ','k2_domain'), ', ', '.'); ?></span> <?php if(function_exists('related_entries')) related_entries(); ?> <?php } ?> </div> <!-- .entry-meta --> </div> <!-- #post-ID --> <?php if(is_single()) { ?> <?php /* Top Navigation */ if ( ('0' == $k2rollingarchives) or is_single() ): k2_navigation('nav-above'); endif; ?> <?php } ?> <?php endwhile; /* End The Loop */ ?> <?php /* If there is nothing to loop */ else: define('K2_NOT_FOUND', true); ?> <div class="hentry four04"> <div class="entry-head"> <h3 class="center"><?php _e('Not Found','k2_domain'); ?></h3> </div> <div class="entry-content"> <p><?php _e('Oh no! You\'re looking for something which just isn\'t here! Fear not however, errors are to be expected, and luckily there are tools on the sidebar for you to use in your search for what you need.','k2_domain'); ?></p> </div> </div> <!-- .hentry .four04 --> <?php endif; /* End Loop Init */ ?> <?php if (function_exists('seopagebar')) seopagebar(); ?> <?php if ( isset( $_GET['k2dynamic'] ) ): ?> </div><!-- #dynamictype --> <?php endif; ?>
Wie ich diese Codex lese, ist da kein Fall drin, wo er den falsch angezeigten Sticky rausfiltert, man kann den ersten eigentlichen Sticky nicht anzeigen. Ich meine es funktionierte ja mit WP 2.9.2. Dann ist es doch nicht direkt ein Template-Problem, oder?Wolf
-
Ich habe genau das selbe Problem. Vor Wordpress 3.0.1 ist mir das nicht aufgefallen. Der Sticky wird oben gehalten, taucht aber auf Seite 2 etwa wieder auf. Das war früher anders.
Hat jemand eine Idee?
Wolf
-
Ja, wird wohl Mus sein. In phpmyadmin kann man in der DB unten alle Tabellen wählen und ausgewählte optimieren usw. Es gibt auch ein Plugin, um diesen Vorgang in WP zu machen.
Wolf
-
Dieses Suchen warum etwas langsam ist, ist anstrengend. Ich möchte dem Hoster die meiste Schuld geben. Oft habe ich das Gefühl, dass eine Seite etwa Abends oder am Wochenende plötzlich schneller wird, dass also der Server des Hosters zu bestimmten Zeiten einfach ausgelastet ist. Aber wie angesprochen, können auch Plugins die Seite verlangsamen. Ich hatte einen Fall, wo ein "Lesen-Sie-Mehr"-Plugin, was zusammengehörige Artikel ausgeben soll, den ganzen Server zum Absturz brachte. Bis man da draufkommt... Eine Cache-Lösung hat in meinem Fall den Server verlangsamt. Mit W3 Total Cache ist die kleine Seite langsamer als ohne. Plugin abschalten bringt aber meist nur etwas, die Seite wird nicht rasend dadurch. Bei mir brachten das Zuschalten von eAccelerator im Backend des Hosters die Nutzung des virtuellen Speichers von 40 auf 7 MB. Trotzdem verhält sich die Seite gleich, schneller wurde nichts, bzw. ist die Abrufzeit sehr durchwachsen.
Wolf
-
-
Danke Spickzettel,
das hat mir sehr geholfen.
Es gab noch einen Zwist mit einem Post-Ordnungs-Plugin, was aber wieder keine Custom Fields erlaubt. Ich habe dann Deinen Code nochmal mit
PHP
Alles anzeigenif (!is_category('24')) { global $wp_query; query_posts( array_merge( array( 'orderby' => title, 'order' => asc), $wp_query->query ) ); }?>eingesetzt, um die anderen Kategorien ohne Plugin wieder nach Titel zu ordnen.
Diese "Ausschließerei" ist ein Thema, was mich an Wordpress stört
Einfach was Ordnen, ohne das es Auswirkungen auf irgendwelche Anzeigen hat, das wärs. In meinem Template gibt es unten eine kleine Navi, die von Artikel zu Artikel springt, aber die bekommt die geänderte Anzeige nach Custom Fields nicht mit. Ist aber kein Problem, ich blende sie aus, weil es eh wurscht ist 
Wolf
-
-
Servus Zusammen,
ich habe Einträge zu Menschen, die aber nicht nach der Artikelüberschrift sortiert werden sollen, sondern nach dem Nachnamen. Jetzt habe ich rumgesucht und verschiedene Möglichkeiten gefunden, aber es haut nicht ganz hin. Wenn ich
PHP<?php if (is_category('24')) { query_posts('meta_key=nachname&orderby=meta_value&order=asc'); } ?>an den Anfang meiner theloop.php einfüge, wird in der Kategorie zwar nach dem Custom Field sortiert, aber ich komme mit der Navigation nicht weiter. Auf Seite 2 steht wieder das von Seite 1, auf Seite 3 wieder usw. Die URL im Browser ändert sich nach Seite, aber Seopagebar z.B bleibt immer auf Seite 1.
Gibt es einen schlaueren Code als den obigen?
Danke,
Wolf -
-
Das man mit einen Cache-Plugin aus dynamischen Seiten wieder statische macht ist schon irgendwie lustig. Ich hatte Super Cache mal bei mir privat im Einsatz, fiel aber immer wieder über gecachete Sachen, die dann wunderlich sind: He, es hat sich nichts geändert...Doch..Nee doch nicht

Wie ist es denn mit Bannern bei einer gecacheten Seite? Die Banner rotieren ja und dürfen nicht statisch immer da drinnen hängen, dann kriegen wir von unseren paar Freunden auch noch eine auf den Sack.
Wolf
-
Die Sache ist, dass ich gerne wechseln würde, etwa 3 mal Level 4 von Hetzner. Ich muss aber dafür voll den Kopf hinhalten und so viel Standing musste ich noch nie beweisen.
Der jetzige Hoster ist ein kleiner individueller Hoster in München. Der hat zehn Jahre alles gehostet, bestimmt seine Sache gut gemacht. Ist also kein 08/15 Paket. Den Preis weiß ich nicht, weil er es spendet. Nur wenn ich mich um die Sache weiterhin kümmern soll, dann kann ich es nicht mit dem machen. Der tritt das ganze Projekt in Grund und Boden. Jetzt sind wie halt am Scheideweg. Er hat angeblich nur Ärger mit uns und wir müssen immer mehr Kompromisse machen. Wir haben da keine Katastrophe in Wordpress zusammengebaut, sondern eine ganz simple kleine Seite.
Wolf
-
Die Zugriffe sind bis jetzt harmlos. Der Provider hat von Anfang an WP gehasst, er schreibt folgendes:
"es gibt keine Alternative dazu so wie die Seiten gemacht sind braeuchten
sie 3 geloadbalancende Server a 3000 € Einkaufspreis um die seiten
einigermassen fluessig an eine ueberschaubare User ( ca 100 )
gleichzeitig auszuliefern der Cpu Frass ist gigantisch, ein einziger Aufruf frisst mind 50 % Cpu Leistung, sie koennen also max 16 gleichzeitige Zugriffe mit einen double Xeon ( 8 cpus) ausliefern und das ist nur ueberschlagen weil der server ja noch anderweitig resource braaucht, realistisch wuerde ich mal von 10 Zugriffen ausgehen, ohne optimierung mit cache ist es also praktisch nicht machbar"und
"ich bin auch kein Anhaenger von caching egal wie ob nun per Plugin oder ueber php etc weil damit immer eine zusaetzliche Fehlerquelle eingebaut ist, aber hier gibts einfach keine Alternative sonst bricht alles zusammen, und dass werde ich auf keinen Fall zulassen eher schalte ich beide Seiten ab."
und
"ich habe hier noch eine wordpress seite zum Vergleich und die ist auch nicht besser, wordpress scheint mir einfach in dieser Form fuer sharedhosting und fuer groessere Projekte einfach nicht geeigent zu sein, in so fern trifft sie da wenig schuld"
und
"ehrlich gesagt ist mir das voellig egal was sie da einpflegen, ich will ihnen da gar nix vorschreiben aber so kriegen sie das niemals vernuenftig geregelt ausser sie nehmen richtig Geld in Hand deshalb haette es auch keien Sinn, jetzt auf die schnelle einen eigenen root Server dafuer nehmen,mal abgesehen davon dass wir so teure Maschinen nicht rumstehen haben, wuerde der wie gesagt auch der schnell an seine Grenzen kommen"
Wir haben da zwei Seiten, eine hat 195 Artikel und 16 Seiten, die andere 341 Artikel und drei Seiten.
Was meint ihr dazu?
Wolf
-
Servus Zusammen,
für einen Verein setze ich Wordpress als CMS ein. Das lief die ganze Zeit ohne Probleme auf dem Server des Providers. Nun war in der Presse angekündigt, dass die Seite online geht und den ganzen Tag hat der Provider dann die Seite nicht hoch bekommen. Immer wieder schmierte ihm der Server ab mit allen Webseiten anderer Kunden. Der Provider verweigerte dann sogar, die Seite überhaupt laufen zu lassen, da unser "Code" nicht stimmen täte. Ich setze aber nur WP und Plugins ein, die man ganz normal runterladen kann und die auch oft verwendet werden. Nun ist da ein großes Hin- und Her. Mal schaltet der Provider irgendwelche PHP-Plugins (APC) ein, die plötzlich nichts mehr funktionieren lassen, dann macht er wieder die Funktion für das Abrauchen verantwortlich, dann wieder eine andere. Das Hauptproblem scheint zu sein, dass zu viele Apache-Prozesse aufgemacht werden, bis der Server nicht mehr kann.
Habt Ihr irgendeinen Tipp für mich?
Wolf
-
Ich möchte nachbohren: Kann es mehrere Admin-Adressen geben? Also eher wie

Wolf
-
Servus Jottlieb,
es geht tatsächlich um den Artikelinhalt. Schaltungen, kleine Änderungen usw.
Wolf
-
Servus Zusammen,
wie kann man denn im Backend, auch evtl. mit Hilfe eines Plugins, schneller Artikel bearbeiten? Es ist so, dass man einen Artikel aufruft, ändert, speichert, zurück in die Übersicht, die Kategorie wählt, runter scrollt, den Artikel aufruft usw. Diese Hin- und Herschalter/wählerei finde ich bisschen anstrengend. Ich habe z.B. 200 Artikel, die automatisch eingepflegt wurden, zu bearbeiten und zu prüfen. Da wäre es schon schön, wenn er sich die letzte Kategorie merkt oder sowas wie "nächster Artikel" drin wäre.
Habt ihr einen Tipp?
Wolf
-
Da nimmst Du Dir den Firefox, dazu Firebug und schaust im Quellcode, welche Stile Du angreifen möchtest. Das wird gehighlighted. Dann gehtst Du in die style.css und änderst. Es gibt auch visuelle CSS-Editoren, für Mac etwa CSSedit. Der Abstand oben komm aus #page. Die Artikel kann man besser trennen, indem man im Style .post anlegt und etwa eine Linie oder Abstand definiert. Für die Überschriften gibt es Anyfont, das generiert aus ttf-Schriften Grafiken. Aber ich lehne das ab.
Wolf
-
Damit kannst Du Seiten uns Kategorien und sonstwas mischen:
http://wordpress.org/extend/plugins…st-plugin-navt/Wolf