am ende von style.css eingefuegt, bringt die punkte zum verschwinden.
am rande bemerkt, ist der verwendete code invalid (mit diesem online programm pruefen: http://validator.w3.org/ ) da die <li> tags ohne <ul> tags verwendet wurden.
ps: nette grafische bearbeitung des default themes ![]()
Beiträge von alchymyth
-
-
schon mal in den codex - die offizielle doku von wordpress - geschaut?
http://codex.wordpress.org/Function_Reference/get_sidebar
zum beispiel, du kannst neue sidebar-dateien anfertigen mit namen wie 'sidebar-page.php' und dann aufrufen mit: -
-
ich nehme an, dass das mit den kurzen artikeln auf der vorderseite ist; dann ist wahrscheinlich index.php zustaendig;
suche dadrin nachund ersetze das durch
(wie das schon Tholi angedeutet hatte; lies den link nochmal)
hier ist mehr info:
http://codex.wordpress.org/Customizing_the_Read_More
alternativ:
lies diese anleitungen durch:
http://codex.wordpress.org/Template_Tags/…ink_to_the_post
[COLOR=#800080]http://codex.wordpress.org/Template_Tags/the_excerpt[/COLOR] -
zum vorletzten beitrag:
die anzeige von '">' kommt davon, dass dieser code auch bei einem leeren feld ausgefuehrt wird;
ich hatte vergessen, das im code zu checken:
verbesserung:PHP
Alles anzeigen<?php $prev_link = get_previous_post_link('« %link'); if($prev_link != '') : $bits = explode('">',$prev_link); $link_text = explode('</a>',$bits[1]); $link_text[0] = substr($link_text[0],0,25).'…'; $bits[1] = implode('</a>',$link_text); $prev_link = implode('">',$bits); endif; $next_link = get_next_post_link('%link »'); if($next_link != '') : $bits = explode('">',$next_link); $link_text = explode('</a>',$bits[1]); $link_text[0] = substr($link_text[0],0,25).'…'; $bits[1] = implode('</a>',$link_text); $next_link = implode('">',$bits); endif; ?>
bemerkung zu '[COLOR=black]previous_post_link()' und 'next_post_link()':[/COLOR]
[COLOR=black]wenn du diese wordpress eigenenen funktionen (template tags) verwendest, verlierst du leider wieder die kontrolle ueber die laenge des ausgegebenen titels.[/COLOR]
[COLOR=black][/COLOR] -
PHP
if (!function_exists('get_previous_posts_link')) { function get_previous_posts_link($label) { ob_start(); previous_posts_link($label); return ob_get_clean(); } }
dieser code, zum beispiel, prueft nur ob die artisteer-eigene funktion vorhanden ist, und wenn nicht, verwendet dann mit einem programmiertrick die entsprechende wortpress funktion, um diesen 'previous_post' - link als eine variabel zu erzeugen.
das ist jedoch genug information, um einen weiteren versuch zu starten:
der original code:PHP<?php $prev_link = get_previous_post_link('« %link'); $next_link = get_next_post_link('%link »'); ?>
versuchsweise (ohne garantie, dass es funktioniert)
anstelle des original codes einzusetzen:PHP
Alles anzeigen<?php $prev_link = get_previous_post_link('« %link'); $bits = explode('">',$prev_link); $link_text = explode('</a>',$bits[1]); $link_text[0] = substr($link_text[0],0,20); $bits[1] = implode('</a>',$link_text); $prev_link = implode('">',$bits); $next_link = get_next_post_link('%link »'); $bits = explode('">',$next_link); $link_text = explode('</a>',$bits[1]); $link_text[0] = substr($link_text[0],0,20); $bits[1] = implode('</a>',$link_text); $next_link = implode('">',$bits); ?>
wenn die artisteer-funktion in etwa dasselbe ausgibt, wie die entsprechende wordpress-funktion, dann besteht eine gute chance, dass es funktioniert.
das vorgehen ist, den totalen string in teile zu zerschiessen ( info zur php explode() funktion http://www.w3schools.com/php/func_string_explode.asp )
und dann den titel zu isolieren und kuerzen; und ales danach wieder zusammenzukleben ( zur php implode() funktion http://www.w3schools.com/php/func_string_implode.asp )
wenn alles generell funktioniert: wenn das ergebnis zu 'abgeschnitten' aussieht, kann man mit stringbearbeitung noch ein '...' am ende eines gekuerzten titels anhaengen (und kurze titel unveraendert lassen):
am beispiel des $prev_link:PHP$prev_link = get_previous_post_link('« %link'); $bits = explode('">',$prev_link); $link_text = explode('</a>',$bits[1]); if( strlen($link_text[0]) >= 20) : $link_text[0] = substr($link_text[0],0,20).'…'; endif; $bits[1] = implode('</a>',$link_text); $prev_link = implode('">',$bits); -
mein fehler;
ich hatte nicht aufgepasst, und uebersehen, dass 'get_next_post_link()' keine original wordpress funktion ist, sondern zum artisteer theme gehoert.
ausserdem war ich faelschlicherweise davon ausgegangen, dass die funktion nur den text wiedergibt, und nicht den gesamten link-code.
das macht meinen vorschlag unbrauchbar.
das ganze ist leider wesentlich aufwendiger.
im prinzip muesstest du versuchen, den code der funktion in den templatedateien vom theme zu finden (vielleicht in functions.php), und dann sehen, ob darin direkt was an der laenge des titels geandert werden kann.
oder du versuchst, den inhalt des strings '$next_link' bzw '$prev_link' zu zerlegen, und den eigentlichen titel zu isolieren, dann zu kuerzen, und wieder zusammenzubauen.
der erste schritt dazu waere, den html-code im browser anzusehen, und die entsprechende stelle zu finden, wo der link ausgegeben wird.
wenn du einen link zu deiner seite posten kannst, kann vielleicht jemand hier im forum einen blick darauf werfen, und was dazu sagen. -
diese zeile ist verbaut:
sollte so aussehen:
die nummer 20 ist natuerlich nur ein beispiel
ps: 'funktioniert aber nicht' ist ziemlich unbrauchbar als fehlerbeschreibung.
besser waere, mitzuteilen, was nicht geht; zB: 'die prev-links werden nicht angezeigt' oder so... -
im folgenden codeschnipsel sollte etwas anregung dazu sein:
kann anstelle von <?php wp_list_categories('title_li='); ?> verwendet werden:
PHP
Alles anzeigen<?php $cats_list = get_categories(''); foreach($cats_list as $cat) : $cat_name = $cat->name; $cat_id = $cat->term_id; echo ' <li'; if(in_category($cat_id) && is_single()) { echo ' class="current"';} echo '><strong>'; echo $cat_name; echo '<small> '.$cat->count.'</small>'; ?> </strong> <ul> <?php query_posts('posts_per_page=-1&cat='.$cat_id); if(have_posts()) : while(have_posts()) : the_post(); ?> <li><a href="<?php the_permalink() ?>" ><?php the_title(); ?></a></li> <?php endwhile; endif; wp_reset_query(); ?> </ul> </li> <?php endforeach; ?>
der code holt die IDs aller kategorien; und arbeitet dann durch alle mit einem mini wordpress loop durch um die artikel-titel verlinkt anzuzeigen.
die verwendeten template tags koennen im codex nachgelesen werden, um evtl die parameter anzupassen. -
dein code weist nur den inhalt von 'next_post_link()' an eine varibel zu, genannt $next_link (ausgabe erfolgt wahrscheinlich an einer anderen stelle).
die variabel kannst du zB mit 'substr()' verkuerzen (im beispiel auf 20 zeichen):
PHP<?php $next_link = get_next_post_link('%link »'); $next_link = substr($next_link,0,20); ?>
genauso mit $prev_link;
http://www.w3schools.com/php/func_string_substr.asp -
das theme verwendet eine eigene funktion zur anzeige der seiten liste:
wahrscheinlich in der functions.php vom theme zu finden;
oder du koenntest das versuchsweise durch das hier ersetzen:
vorm aendern sicherungskopien aller themedateien machen -
seitenanordnung:
vielleicht muss das im template hard-codiert werden, um 'wp_list_pages()' mitzuteilen, wonach sortiert werden soll:
evtl. hier den code des menues angeben (vom header.php ?), so dass jemand mal reingucken kann.
http://codex.wordpress.org/Template_Tags/…s_by_Page_Order -
-
Zitat
Denn wenn ich beispielsweise in eine Kategorie gehe und dort mehrere Artikel vorhanden sind, zeigt es mir nicht alle an. Ich bräuchte also diese Funktion unbedingt.
als plugin wuerde zB 'wp-pagnavi' gehen;
muss aber trotzdem als code zB. in archive.php eingebaut werden.
oder den code vom default theme verwenden, und fuer das plugin vorbereiten (nach dem 'endwhile;' vom loop einsetzen):
PHP<?php if(function_exists('wp_pagenavi')) : wp_pagenavi(); else : ?> <div class="navigation"> <div class="alignleft"><?php next_posts_link('« Older Entries') ?></div> <div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div> </div> <?php endif; ?>
verwendet die wordpress template tags 'next_posts_link()' und 'previous_posts_link()' -
-
-
mehr dynamisch mit 'offset' und 'number' parametern von wp_list_pages();
http://codex.wordpress.org/Template_Tags/wp_list_pages
-
den code ( von 'wp_list_bookmarks()' - was bestimmt im widget verwendet wird ) findest du hier:
http://phpxref.ftwr.co.uk/wordpress/wp-i…ource.html#l134
es ist generell nicht empfehlenswert, wordpress-kern-funktionen zu bearbeiten, weil aenderungen beim upgrade ueberschrieben werden.
wenn der grund fuer dein vorhaben wichtig genug ist, koenntest du ein neues widget schreiben und darin 'wp_list_bookmarks()' mit dem parameter 'echo=0' verwenden, was die liste als string herausgibt; und dann zB mit 'str_replace' den unerwuenschten anteil mit einem leeren string ersetzen.
vielleicht gibts auch schon ein linklist-widget-plugin, das du dann veraendern kannst. -
immer mal wieder in der doku nachlesen; da steht naemlich eine menge drin.
http://codex.wordpress.org/Template_Tags/…_Category_Lists
Zitatli.cat-item-7 { ... } /* category ID #7, etc */
deine 'neue' kategorie-id wird natuerlich anders sein ...
(entsprechend auch fuer seiten http://codex.wordpress.org/Template_Tags/…g_of_page_items ) -
PHP
<?php $screen = get_post_meta($post->ID, 'screen', $single = true); ?> <img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $screen; ?>&h=100&w=200&zc=1" alt=""/>
nach dem obigen code (aus slide.php) zu urteilen, muessen die bilder fuer jeden beitrag im benutzerdefinierten feld 'screen' eingegeben werden, mit absolutem pfad zum bild (?) (da bin ich mir nicht ganz sicher, einfach probieren)