Verfasste Forenbeiträge

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)
  • mollamilch

    (@mollamilch)

    Danke für deine Antwort!

    Ich habe das Plugin schon ausprobiert, nur leider arbeitet es nicht mit Events Manager zusammen, sodass es für mich nicht brauchbar ist. Eine gemeinsame Medienbibliothek anzulegen war auch meine erste Idee, jedoch leider dadurch nicht möglich.

    mollamilch

    (@mollamilch)

    Ob Mehrsprachigkeit bei DACH-Websites das Problem ist? 🙂

    Absolut nicht. Ich war davon ausgegangen, dass @daniel25k schon den festen Entschluss gefasst hat, mit einer Multisite sein Problem zu lösen.

    In der Regel sind die Beiträge in allen drei Domains immer gleich jedoch wäre es super hin und wieder die Inhalte anpassen zu können zum Beispiel auf de und at sind die Texte gleich aber auch ch dann leicht anders.

    Ich würde an deiner Stelle auf einer Domain arbeiten, also z.B. meinblog.de, und beim ersten Besuch abfragen, woher der Besucher kommt. Dann ein Cookie setzen, in dem abgespeichert ist, welches Land ausgewählt wurde. Oben rechts könnten dann 3 Fahnen für die 3 unterschiedlichen Länder sein, mit denen man die Einstellung verändern kann. Und dann könnte man ein Shortcode verwenden, z.B. [cust_lang lang="de"]Deutscher Inhalt[/cust_lang][cust_lang lang="ch"]Schweizerdeutscher Inhalt[/cust_lang], mit denen man einfach Inhalt für verschiedene Sprachen definieren kann. Die Shortcodes würden so arbeiten, dass nur wenn der entsprechende Cookie definiert wurde, der Inhalt auch angezeigt wird. Das müsste man dann alles selbst programmieren und ins Template einarbeiten, oder vielleicht gibt es auch ein entsprechendes Plugin, das so arbeitet.

    mollamilch

    (@mollamilch)

    Um für jede Sprache (und damit jede Domain) den Inhalt individuell anpassen zu können, benötigst du eine Multisite (oder auch WordPress Network genannt).

    Es sind dann keine 3 separaten WordPress-Installationen, sondern eine Datenbank und eine Installation, jedoch 3 verschiedene Dashboards, auf denen du den Inhalt separat verwalten kannst.

    Hier ist ein sehr ausführlicher Beitrag zu WordPress Multisites und die Möglichkeit, eine Multisite aufgrund mehrerer Sprachen aufzusetzen: https://wplang.org/wordpress-multisite-multilingual/

    Der Tipp von @pixolin in Verbindung mit dem Plugin Search Exclude (https://de.wordpress.org/plugins/search-exclude/) war zielführend. Danke für die Hilfe

    Das mit dem Menü hatte ich schon so…

    Das heißt, es ist nicht möglich, im WP-Menüpunkt „Seiten“ Geister-Seiten zur Ordnung zu erstellen, die nicht adressierbar sind und die Permalinks für die Unterseiten generieren?

    Mit pixolins Tipp habe ich mir für mein WordPress Network quick and dirty ein kleines Plugin zusammengeschustert, dass genau meine Bedürfnisse erfüllt.

    Für alle Interessierten:

    <?php
    /**
     * Plugin Name: Update Post Reminder
     * Description: Reminds you to update posts with a metabox on each post and a widget on the dashboard.
     * Version: 1.0
     * Author: Lennart Möller
     * Author URI: https://www.lennartmoeller.com
     */
    
    function display_update_post_reminder_widget() {
    	if (is_multisite() && is_main_site()) {
    		// search in all blogs in network
    		$blogs = get_sites();
    		foreach ($blogs as $blog) {
    			display_post_entries($blog);
    		}
    		restore_current_blog();
    	} else {
    		// search only in current blog
    		display_post_entries(get_current_blog_id());
    	}
    } 
    
    function display_post_entries($blog) {
    	$today = date('Ymd');
    	switch_to_blog($blog->blog_id);
    	foreach (get_pages() as $page) {
        	$page_date = get_field("erinnerungsdatum", $page);
        	if ($page_date && $page_date < $today) {
        		echo "seit ".convertYmd(get_field("erinnerungsdatum", $page)).": ";
        		$editDomain = get_site_url($blog->blog_id)."/wp-admin/post.php?post=".$page->ID."&action=edit";
        		?>
        		<a href="<?php echo $editDomain ?>" target="_blank">
        			<?php echo get_the_title($page); ?><br>
        		</a>
        	<?php }
    	}
    }
    
    // Ymd to d.m.Y
    function convertYmd($date) {
    	return substr($date,-2).".".substr($date,4,2).".".substr($date,0,4);
    }
    
    function add_dashboard_widgets() {
    	wp_add_dashboard_widget('update_post_reminder_widget', 'Seiten, die eventuell aktualisiert werden müssen', 'display_update_post_reminder_widget' );
    } 
    add_action('wp_network_dashboard_setup', 'add_dashboard_widgets');	// add widget on Network Page
    add_action('wp_dashboard_setup', 'add_dashboard_widgets');			// add widget on each blog
    
    // Creates a Metabox on every page with a date input (ACF PHP output)
    if( function_exists('acf_add_local_field_group') ):
    acf_add_local_field_group(array(
    	'key' => 'group_5e8725d67562c',
    	'title' => 'Seite aktualisieren am',
    	'fields' => array(
    		array(
    			'key' => 'field_5e8725dda5ce9',
    			'label' => 'Erinnerungsdatum',
    			'name' => 'erinnerungsdatum',
    			'type' => 'date_picker',
    			'instructions' => 'Wähle ein Datum aus, ab dem du auf deinem Dashboard erinnert werden möchtest, dass diese Seite eine Aktualisierung benötigt.',
    			'required' => 0,
    			'conditional_logic' => 0,
    			'wrapper' => array(
    				'width' => '',
    				'class' => '',
    				'id' => '',
    			),
    			'display_format' => 'd.m.Y',
    			'return_format' => 'Ymd',
    			'first_day' => 1,
    		),
    	),
    	'location' => array(
    		array(
    			array(
    				'param' => 'post_type',
    				'operator' => '==',
    				'value' => 'page',
    			),
    		),
    	),
    	'menu_order' => 0,
    	'position' => 'side',
    	'style' => 'default',
    	'label_placement' => 'top',
    	'instruction_placement' => 'label',
    	'hide_on_screen' => '',
    	'active' => true,
    	'description' => '',
    ));
    endif;
    ?>

    Vielen Dank euch beiden für die Lösungen und entschuldigt meine späte Antwort.

    Ich habe bisher nur die Grundfunktionen von ACF gebraucht, aber wüsste jetzt auf Anhieb nicht, wie ich eine Liste auf dem Dashboard aufmachen kann und eine Regel setze, die alle Beiträge auflistet, deren Datum <= heute ist (was ja prinzipiell meine einzige Anforderung ist). Ich google gleich nochmal ein bisschen, aber wenn du mich in die richtige Richtung lenken könntest, wäre ich dir sehr dankbar.

    Edit Flow sieht für mich nach einem guten Tool für diesen Bereich aus, schießt aber wie vermutet weit über das Ziel hinaus. Ich werde es trotzdem einmal auf einer Testumgebung installieren und falls ich mit ACF nicht das gewünschte Ergebnis erzielen kann, werde ich es mit EditFlow probieren.

    Ich gehe mal davon aus, dass du statt Cowboy-Coding die Website in einer Entwicklungsumgebung aufbauen möchtest, wobei du ja auch hier mit einer subdomain-basierten Multisite arbeiten kannst.

    Was genau meinst du mit Cowboy-Coding?

    Der Umzug wird in diesem Blogbeitrag unter „Szenario 3“ gut beschrieben

    Dann werde ich wohl die Multisite lokal auf meinem Rechner aufbauen, um sie, wenn sie fertig ist, auf den Server zu transferieren. Ich habe sowas bislang mit MAMP und Sequel Pro gemacht. Bietet die Free-Version von Local by Flywheel deutliche Vorteile oder kann ich das weiterhin mit MAMP und Sequel Pro machen? Wie ist es mit der Migration? Das müsste ja genauso funktionieren.

    Der Guide für die Migration von Multisites hört sich sehr simpel an. Vielen Dank für den Link!

    Lieber Bego Mario Garde,

    erstmal vielen Dank für die ausführliche Antwort!

    Die Methode kenne ich und ist meine Backup-Alternative. Jedoch möchte ich beim Umstieg von Joomla zu WordPress auf jeden Fall schon alle Seiten fertig entwickelt haben und nicht erst eine Seite online stellen, um dann alle anderen Seiten aufzubauen. Das liegt im Wesentlichen daran, dass ich Verknüpfungen zwischen den Websites aufbauen möchte und ich bei etwa 500 Besuchern pro Tag keine halbfertige Website veröffentlichen möchte.
    Wenn das nur mit großen Umständen möglich ist, könnte ich es so machen, wie du es beschrieben hast, aber lieb ist mir das nicht.

    Danke im voraus für einen Lösungsansatz!

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)