WP Einstellungen -> Lesen -> Starseite zeigt : dort ma ne statische Seite einstellen oder die frontpage.php im Themeordner anpassen (./wp-content/themes/THEMENAME)
falls kein einges Theme -> Childtheme erstellen und Änderungen vornehmen.
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenWP Einstellungen -> Lesen -> Starseite zeigt : dort ma ne statische Seite einstellen oder die frontpage.php im Themeordner anpassen (./wp-content/themes/THEMENAME)
falls kein einges Theme -> Childtheme erstellen und Änderungen vornehmen.
Also hatte ein ähnliches Problem bei paar Seiten, die Gestalterin hat fröhlich Bilder hoch geladen und im nachhinein wollte sie die Auflösung ändern.
Davon abgesehen das sie unterschiedliche Farbräume, Seitenverhältnisse, etc verwendet hatte und die Bilder null für das Weboptimiert waren.
Da habe ich alle orginal Bilder ausm Uploadordner die keine Pixelangabe im Dateinamen per CP Befehl auf ne SSD Platte gepackt und per Photoshopaktion korrigieren lassen. Danach die neuen Auflösungen in den WP Einstellungen hinterlegt und die Bilder wieder per mediathek hoch geladen. Die meisten Links waren gleich geblieben... falls du Metadaten hast wirds knifflisch, die Metadaten der Bildern hab ich dann aus ner DB-Sicherung wieder einspielt. Die Querys dafür hab ich leider nicht mehr.
Bei der Ausgabe der Bilder verwende ich meist die wp_attache func mit Größen angabe
PS: find den Grundgedanken ja nich falsch von WP was die Bilderfunktion angeht... falls Orginal Bild größer ist wird es behalten und die alle kleineren Formate davon erzeugt.
Also von Haus aus geht das meines Wissens nicht, aber du hast folgende Möglichkeiten:
- beim Abruf das Bild (serverseitig) runter zurechnen, was aber sehr aufwendig werden kann, je nach deinen Programmierkenntnissen
- du kannst ein Plugin verwenden um die Bilder zu komprimieren -> google: "wp bild komprimierung"
- Falls du Photoshop hast, kannst du auch eine Aktion schreiben in der alle Bilder[mit maximaler Auflösung] für das Web optimierst und dann wieder hochlädst
Über wieviel Bilder reden wir den hier?
Hi ich hab die Tage versucht eins meiner letzten großen Problem meines Theme zu lösen:
Für das Theme exisitiert eine einge Sprachdatein im Ordner ./themes/theme_name/language
Sprachen:de_DE.mo/po , nl_NL.mo/po , fr_FR.mo/po ...
Meine Ausgaben vom Template her werden alle Astrhein ausgeben, bloß die dynamischen Menüs da scheitere...
Hat jemand ne Idee wie ich das mit einem Filter/Hook erreichen kann?
Meine Vorstellung war: in der sidebar.php anstatt dynamic_sidebar( $id ) eine eigene Funktion my_dyn_sidebar( $id ) zu verwenden um den Filter passend zu-aktivieren und -deaktivieren, damit nich jede Ausgabe übersetzt wird.
function my_dyn_sidebar( $id )
{ add_filter( 'gettext', 'translate_sidebar', 20, 3 );
dynamic_sidebar( $id );
remove_filter( 'gettext', 'translate_sidebar', 20, 3);
}
function translate_sidebar( $translated_text, $text, $domain )
{
$rep = __( $text , DOMAIN_NAME);
if($rep) return $rep;
return $translate_text;
}
Alles anzeigen
leider erhalte ich durch das aufrufen von __( 'Beispieltext' , 'DOMAIN_NAME') immer folgende Fehlermeldung mit der ich leider nichts anfangen kann. Google und seine Freunde haben auch keine Ergebnisse geliefert.
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Sah ganz gut aus als ich es mir vorhin kurz angesehen hatte...
werde es morgen ma weiter testen;)
Okay also scheint doch nen Problem vom Plugin zu sein :(
ja hab ich auch gelesen aber trifft auf meine Problemstellung leider nicht ganz zu.
Entschuldige ich formuliere meine Frage noch mal anders,
Wie muss ich die rewrite regeln so anpassen das später die PLinkstruktur mit WP Category Permalink geändert werden könnte.
Hi ich habe das Problem das ich wenn ich mit meinen eigenen Posttype arbeite ich nicht die selbe Permalinksstruktur erzeuge wie bei den standart Beiträgen.
Daher meine Frage wie ich meinen Post-Type erzeugen muss das er die selbe Linksstruktur verwendet wie ein normaler Beitrag bei dem ich die Linksstruktur bisher anpassen konnte.
Ich verwende gerade das Plugin WP Category Permalink,was gern weiterhin verwenden würde. Da es sehr praktisch ist wenn sich der Links aus den einzelnen Kapitelnamen zusammen setzt,
z.B: http://www.domain/kapitel-1/unterkategorie-1/beitragsname
ergänzung:
im Plugin werden die PLinks rein über die Beitragsid ersetzt daher sehe ich kein Problem warum das nicht mit eigenen posttypes gehen sollte. Im Forum habe ich nichts dazu finden können.
Danke fürs lesen:)
der Paul
<?php
// Register Custom Post Type
function handbuch() {
$labels = array(
'name' => _x( 'Handbücher', 'Post Type General Name', 'DOMAINNAME' ),
'singular_name' => _x( 'Handbuch', 'Post Type Singular Name', 'DOMAINNAME' ),
'menu_name' => __( 'Handbuch', 'DOMAINNAME' ),
'name_admin_bar' => __( 'Handbuch', 'DOMAINNAME' ),
'parent_item_colon' => __( 'Parent Item:', 'DOMAINNAME' ),
'all_items' => __( 'Alle Beiträge', 'DOMAINNAME' ),
'add_new_item' => __( 'Neuer Beitrag', 'DOMAINNAME' ),
'add_new' => __( 'Neuer Beitrag', 'DOMAINNAME' ),
'new_item' => __( 'Neuer Beitrag', 'DOMAINNAME' ),
'edit_item' => __( 'Neuer Beitrag', 'DOMAINNAME' ),
'update_item' => __( 'Ergänze Beitrag', 'DOMAINNAME' ),
'view_item' => __( 'Beitragsansicht', 'DOMAINNAME' ),
'search_items' => __( 'Suche Beitrag', 'DOMAINNAME' ),
'not_found' => __( 'Keine Beiträge', 'DOMAINNAME' ),
'not_found_in_trash' => __( 'Keine Beiträge im Papierkorp', 'DOMAINNAME' ),
'items_list' => __( 'Beitragsliste', 'DOMAINNAME' ),
'items_list_navigation' => __( 'Handbuchbeiträge', 'DOMAINNAME' ),
'filter_items_list' => __( 'Beitragsfilter', 'DOMAINNAME' ),
);
[COLOR=#ff0000][size=10]$rewrite = array(
'slug' => '',
'with_front' => false,
'pages' => false,
'feeds' => false,
);[/SIZE][/COLOR]
$args = array(
'label' => __( 'Handbuch', 'DOMAINNAME' ),
'description' => __( 'Alles für Handbücher', 'DOMAINNAME' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'trackbacks', 'revisions', 'custom-fields', 'page-attributes', 'post-formats', ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => true,
'publicly_queryable' => true,
[COLOR=#ff0000]'rewrite' => $rewrite,[/COLOR]
'capability_type' => 'post',
);
register_post_type( 'handbuch', $args );
}
add_action( 'init', 'handbuch', 0 );
?>
Alles anzeigen
Fall bei dem Thema mal Jemand strandet:
Die Lösung steht in der Dokumentation beim zweiten Beispiel als Kommentar mit drin -.-
Der Hook oder die Funktion zum ändern der $Locale Variable muss unbedingt vor dem load_theme_textdomain() aufgerufen werden!
Heißt ihr müsst euch die aktuelle Sprache in einer Variable merken, dann Variableinhalt beim INIT Hook auf $locale legen.
get_lang() gibt einfach nur die Sprache aus einem Cookie , der Usereinstellungen oder einen standart Wert wie de_DE zurück, falls keine Sprache definiert wurde.
function setup_load_lang()
{
set_my_locale( $locale );
load_theme_textdomain('DOMAINNAME', get_template_directory() . '/languages/');
}
add_action( 'init', 'setup_load_lang' );
add_filter( 'locale', 'set_my_locale' );
function set_my_locale( $locale )
{
if(get_lang()!=NULL) return get_lang();
else return $locale;
}
Alles anzeigen
Damit geht Alles wie gewünscht, sprich das Theme lädt die richtige Übersetzungdatei und auch die Widgets.
Ich nehm mir jetzt ne Flasche Schnapps....
Hi ich hoffe das vlt doch mal einer hier noch rein schaut und eine Idee hat oder mir wengistens erklären kann Wo der Denkfehler liegt.
Also immer noch der Versuch die derzeitige Sprache für das FrontEnd zu ändern.
Derzeit mach ich das über das Laden der Sprachdateien in dem ich Sprachdateien alle mit *de_DE benenne und meine Sprachdateien in jeweils unterschiedliche Ordner packe.
Aber es muss doch möglich sein die Variable $locale zu beeinflussen, weil daher entscheidet WP ja welche Sprachdatei es lädt beim Befehl
load_theme_textdomain('DomainName', get_template_directory() . '/languages/')
oder sehe ich das falsch?
Ich hab versucht die Hook von locale fuer das Theme zu ersetzten... geht auch nicht:(
Über define('WPLANG', "Sprache") geht es nicht, was auch An sich Nichts bringen würde da es die Sprache dann der ganzen Seite ändern würde und nicht für den einzelnen User.
Bitte klärt mich ma auf ich schnall das nicht....
Gibt es da nur den Weg alle Sprachdateien selber zuladen? sprich für alle Plugins?
Ich kann mir auch nicht vorstellen dass das Problem nur ich habe....
Grüße der Paul
Danke für eure Hilfe, hab es jetzt hin bekommen;)
Der Displayname war schon eingetragen bloß steht der logischerweise nicht in der Userübersicht sondern im Profil selber.
Beim Vor- und Nachnamen habe ich 'lastname' und nicht 'last_name' geschrieben, mal wieder Betriebsblindheit.
Grüße der Paul
Hi, also hab die Funktion zum abgleichen der Userlisten ma angefangen, doch leider wird der firstname, lastname und display_name nicht mit gespeichert. Sonst geht alles. Habt Ihr ne Ahnung wo es klämmt?
habs mit wp_update_user, update_user_meta und wp_insert_user probiert, der letzte weg ist es per SQL noch zu ändern aber das würde ich gerne vermeiden wenn es standart Funktionen gibt.
Um die Userrole per Accessmanger habe ich leider keine Funktion gefunden daher habe ich das so eingetragen.
Das $user_interface musste ich jetzt als Zwischentabelle nehmen da ich derzeit mit drei unterschiedlichen Tabellen arbeite, die teils franz., russische und deutsche Feldnamen besitzen.
function update_wp_user_list()
{
//SQL ABFRAGE
//Feldnamen der Tabelle aus der DB
$user_interface = get_user_interface();
$db_ex_url = "localhost";
$db_ex_user = "XXXXX";
$db_ex_pass = "XXXXX";
$db_ex_name = "XXXXX";
// mode = 0 := 1 für erfolgreich, -1 Fehlerfall
// mode = 1 := rueckgabe des Results als nummerisch, -1 Fehlerfall
// mode = 2 := rueckgabe des Results als assoziativ, -1 Fehlerfall
// mode = 3 := rueckgabe des Results als assoziativ und nummerisch, -1 Fehlerfall
// mode = 4 := rueckgabe des Results als nummerisch und feldinfo, -1 Fehlerfall
$db = new db_master ($db_ex_url,$db_ex_user,$db_ex_pass,$db_ex_name);
$query = "SELECT * FROM `ADR_STAMM` WHERE `".$user_interface['web_user']."` = 1 LIMIT 2000";
$list = $db->query2db($query, 2 );
echo $query;
//
printf("<br>DS zum Insert: %d<br>",count($list));
print_r($list);
//ab zeile 1 falls 0 die Tabellenfelder in Request enthaelt sind
for($i=0;$i<count($list);$i++)
{
// Userdaten pruefen
$user_id = username_exists( $list[$i][$user_interface['id']] );
if ( !$user_id and email_exists($list[$i][$user_interface['email']]) == false )
{
$random_password = wp_generate_password( $length=12, $include_standard_special_chars=false );
$user_id = wp_create_user( $list[$i][$user_interface['id']], $random_password, $list[$i][$user_interface['email']] );
//role und zusatz informationen an User anhaengen
$tmp_nn = $list[$i][$user_interface['firstname']]." ".$list[$i][$user_interface['lastname']];
//printf("<br>USERNAME %s",$tmp_nn);
wp_update_user( array( 'ID' => $user_id,
'firstname' => $list[$i][$user_interface['firstname']],
'lastname' => $list[$i][$user_interface['lastname']],
'display_name' => $tmp_nn,
'user_url' => $list[$i][$user_interface['homepage']]
)
);
//update_user_meta($user_id, 'firstname', $list[$i][$user_interface['firstname']]);
//update_user_meta($user_id, 'lastname', $list[$i][$user_interface['name']]);
//update_user_meta($user_id, 'display_name', $list[$i][$user_interface['name']]);
/*
$userdata = array(
'user_login' => $list[$i][$user_interface['id']],
'user_url' => $list[$i][$user_interface['homepage']],
'user_pass' => $random_password,
'user_email' => $list[$i][$user_interface['email']],
'firstname' => $list[$i][$user_interface['firstname']],
'lastname' => $list[$i][$user_interface['lastname']],
);
*/
//Userrole mit UAM Accessgroup
global $wpdb;
$rep = $wpdb->insert(
'wp_uam_accessgroup_to_object',
array(
'object_id' => $user_id,
'object_type' => 'user',
'group_id' => '1'
),
array(
'%d',
'%s',
'%d'
)
);
//update_user_meta($user_id, 'display_name', $list[$i][$user_interface['firstname']]);
}
else printf("User: %d existiert bereits<br>",$list[$i][$user_interface['id']]);
// hier prüfen ob email oder name sich geändert haben
//loeschen falls user der webzugang gesperrt oder user ansich gelöscht ist
//require_once(ABSPATH.'wp-admin/includes/user.php' );
}
}
Alles anzeigen
Okay, hast du/ habt ihr ne Ahnung obs für diesen Fall en PlugIn bereits gibt? Das Plugin Sidebar Login ist dann ja wieder außenvor, da es die geforderten abfragen ja bisher nich vorsieht. Und das PlugiIn anpassen auch nich soll toll wegen Updates.
Danke für die schnelle Antwort.
Hi, ich schreibe an einem Theme was auf drei Seiten+Shop genutzt werden soll.
Derzeit liegt mir ne Tabelle mit Kunden auf einem anderen SQL Server vor, welche ich gerne für den Login benutzen würde. Da dies den Verwaltungs- und Pflege-Aufwand immens senken würde.
Ich habe jetzt das PlugIn "external-db-auth-reloaded" versucht aber bekomme nur Fehler und schießt den Login komplett ab.
Ich hab zwei Ideen: 1. Nach dem eingeben der Logindaten in die Oberfläche, wird erst geprüft ob der User in der externen Tabelle bekannt und für die Weboberfläche frei geschaltet ist. Ja Fall: User wird mit einem standard Konto Beispielname: "Kunde" im WP eingeloggt. Alle speziellen Informationen zum Kunden bleiben bei der externen DB. (Sprache und so)
2. Idee: Es wird zu erst in der WP Userliste nach geschaut ob der User existiert oder nicht. Ist der User nicht bekannt wird ein WPUser mit den bereits aus der Kundenkartei bekannten Daten + Zufallspassword angelegt. Danach wird der User noch darauf hingewiesen das er das PW ändern sollte. Vorteil die Passwort vergessen Funktion könnte noch genutzt werden und WP verwaltet weiterhin die Daten. Nachteil wird ein Usereintrag in der externen DB geändert wie Anschrift, Nachname, Email oder sonstiges müssten diese auch in die WPUserliste mit übertragen werden. Das widerrum geht nur mit nem Zugriff über ne separate Funktion und nicht vom WPSys aus... also soweit ich weis kann zum Beispiel die EMail eines User nicht geändert werden.
Ihr seht, is nich so einfach und hab leider mit WP noch nicht so viel praktische Erfahrung, daher habt ihr ne Empfehlung?
Danke hat sich geklärt... Betriebsblindheit läst grüßen;)
Hier noch mal die gesamte Funktion.
Das aus kommentierte ist die Anweisung von dir Brawler.
Danke, für die schnelle Antwort. Der Auszug sollte nur zeigen das ich bereits mehre Schreibweisen probiert habe...
das von dir funst leider auch nicht.
Hi, also schreibe gerade an ner Funktion die mir ne Liste mit Posts oder deren IDs zurück geben soll, die den übergeben Kategorien zugeordnet sind.
Hab bisher die Funktionen query_posts und wp_query mit entsprechenden Parametern probiert siehe http://pastebin.com/3YzTq43Y.
Beispiel: es gibt 5 Posts, davon sind 3 in der Kategorie "Bäder" id=14 sind und 2 davon sind der Kategorie "de" id=19 zugeordnet. Als Ergebniss möchte ich die Liste mit den 2 Posts haben die genau diesen Kategorien zugeordnet sind.
Laut Doku und anderen Forenbeiträge müßte das gehen aber leider scheiterts an der Praxis.
Danke fürs lesen und für eine Antwort vlt.
der Paul
Hast du mal was passendes gefunden?