Hat niemand eine Idee?
Konnte das Problem leider selbst noch nicht lösen.
Beiträge von Xenon4u
-
-
Hallo Community,
zuerst ein frohes neues euch allen :)
Zu meinem Problem: Ich erstelle eine WP-Seite (3.8) mit QTranslate, 2-sprachig (de und en). Die Auflistung auf der Startseite der letzten 5 Posts werden so angezeigt
In der functions.php wird dieser so definiert:PHPfunction get_latest_posts($limit = 5){ $latest_posts = get_posts('numberposts=' . $limit); $output = '<ul class="recent-posts">'; foreach($latest_posts as $post) { $post_title = $post->post_title; $post_permalink = get_permalink($post->ID); $thumbnail = get_the_post_thumbnail( $post->ID, 'thumbnail', array( 'class' => '', 'alt' => $post_title, 'title' => $post_title ) ); $output .= '<li><a href="' . $post_permalink . '">'; $output .= $thumbnail; $output .= '<span>' . $post_title . '</span></a></li>'; } $output .= '</ul>'; return $output;}Ausgegeben wird mir im Frontend aber immer der Title in Deutsch und Englisch (siehe Screenshot)

Hat jemand für mich eine Hilfe bzw. Idee?
-
Hey blackice,
eigentlich ist dieses Widget auch eine gute Alternative, wenn man die Artikel dann auch direkt bearbeiten könnte und eben nicht nur die Sichtbarkeit einstellen kann. Momentan fällt mir ja nur die Zuordnung schwer, in welchem Artikel, welcher Inhalt ist. -
Einige Codes durchgelesen und bin zu dem Entschluss gekommen, dass ich nur für das Widget WYSIWYG Widget den Titel im Backend anzeigen lassen will.
Der passende Code habe ich auch schon gefunden, jedoch komm ich einfach nicht drauf. Vielleicht weiß jmd eine Lösung :PHier der Code:
PHP
Alles anzeigen<?php if (!class_exists('WYSIWYG_Widgets_Widget')) { class WYSIWYG_Widgets_Widget extends WP_Widget { function __construct() { $widget_ops = array('classname' => 'wysiwyg_widget widget_text', 'description' => __('A widget with a WYSIWYG / Rich Text editor - supports media uploading')); $control_ops = array('width' => 560, 'height' => 400); $id_base = 'wysiwyg_widget'; parent::__construct($id_base, 'WYSIWYG Widget', $widget_ops, $control_ops); } function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); $text = apply_filters('widget_text', $instance['text'], $instance); echo $before_widget; if (!empty($title)) { echo $before_title . $title . $after_title; } ?> <div class="textwidget"><?php echo wpautop($text); ?></div> <?php echo $after_widget; } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['type'] = strip_tags($new_instance['type']); if (current_user_can('unfiltered_html')) $instance['text'] = $new_instance['text']; else $instance['text'] = stripslashes(wp_filter_post_kses(addslashes($new_instance['text']))); return $instance; } function form($instance) { $instance = wp_parse_args((array) $instance, array('title' => '', 'text' => '', 'type' => 'visual')); $title = strip_tags($instance['title']); $text = $instance['text']; $type = esc_textarea($instance['type']); ?> <span class="wysiwyg_widget"></span> <input id="<?php echo $this->get_field_id('type'); ?>" name="<?php echo $this->get_field_name('type'); ?>" class="wwe_type" type="hidden" value="<?php echo esc_attr($type); ?>" /> <p> <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /> </p> <div class="wwe_container"> <?php wp_editor($text, $this->get_field_id('text'), array( 'textarea_name' => $this->get_field_name('text'), 'textarea_rows' => 25 )) ?> </div> <?php } } }In Zeile 10 wird der Name des Widgets verändert, kann ich hier irgendwie eine dynamische Title-Anzeige reinpacken?
-
Mittlerweile konnte ich einige Probleme selbst lösen:
- Zuerst braucht der Kunde keine HTML-Kenntnisse mehr durch das Widget „WYSIWYG Widget"
- Für die mehrsprachigkeit der Seite benutzte ich „qTranslate“. Wie man hier gerade für die Widgets unterschiedliche Inhalte bzw. Titel vergeben kann ist mir jetzt klar. Man braucht also keine zwei Einträge zu machen (1 x DE + 1 x EN) sondern man definiert in einem Eintrag den Titel z.B. so „[:de]Kontakt[:en]Contact“ -> Ein Eintrag, zwei verschiedene Titel je Sprache. Funktioniert so auch bei dem Text.Fast zufriedengestellt versuche ich mich jetzt dem nächsten Problem zu stellen.
Da ich es im Backend immer noch zu unübersichtlich finde, mit irgendwann einmal 20-40 Einträgen in der Sidebar (http://xenon4u.de/screenshots/01.png), überlegte ich mir, nicht wie im Screenshot zu sehen den Widget-Namen darzustellen (hier noch Image Widget), sondern den Titel der in jedem Widget hinterlegt wird, anzuzeigen. In diesem Fall sollte dann hier zB „Kontakt“ angezeigt werden.
Das würde die Zuordnung der Widget erheblich vereinfachen und auch enorme Zeitersparnis mitbringen.Kann mir hierbei jemand einen Tipp geben?
Grüße
Xenon4u -
Morgen Community,
ich bin ein ganz blutiger Anfänger im Thema WordPress und erstelle jetzt meine erste Seite damit. Also entschuldigt den ein oder anderen Fehler :).
Zum eigentlichen Problem:
Die Sidebar würde ich gerne als flexible Infobox benutzen was bedeutet, für jede Seite gibt es hier andere Inhalte. Eine Möglichkeit dies darstellen zu können geben mir die zwei Plugins Image Widget (was mir ermöglicht, dies grafisch zu unterstützen) und Widget Logic (Angabe auf welcher Seite der Beitrag gepostet wird).
Um dies zu veranschaulichen, unterstütze ich dies mit ein paar Screenshots.
Das sind zwei Screenshots zum veranschaulichen des Templates (welches ich erstellt habe)
http://xenon4u.de/screenshots/wir.jpg, http://xenon4u.de/screenshots/philosophie.jpgDie Anzeige im Backend sieht dann eben so aus, was ich sehr unübersichtlich finde und für den Kunden ohne jegliche Erfahrung, wie zB in HTML schwer zu pflegen ist
http://xenon4u.de/screenshots/01.png, http://xenon4u.de/screenshots/02.pngEine richtige Übersicht kann ich deswegen leider nicht einstellen. Sucht man also bei der kompletten Website einen bestimmten Eintrag in der Sidebar, bleibt einem nur die Möglichkeit, sich mühsam durch jeden Post durch zuklicken.
Erschwerend kommt hinzu, dass die Seite in deutsch/englisch erstellt wird. Bis jetzt ist mir bei Widget Logic noch keine Möglichkeit bekannt DE oder EN einzustellen. Falls das Möglich wäre hätte ich dennoch mehr Einträge in der Sidebar und wird noch unübersichtlicher.Vielleicht ist euch eine andere Möglichkeit bekannt oder habt einige Tipps für mich.
Grüße
Xenon4u