ממשק שינוי css

כחלק מהקורס אותו אני מלמדת ב-HIT נוצר צורך לתת לסטודנטים יכולת לשנות CSS של תבנית ועל ידי כך למעשה לעצב בעצמם תבנית (מעל בסיס sandbox).
הרמתי עבור הסטודנטים מערכת worpress-mu שתשרת את כולם, התקנתי תבנית sandbox ואז הגעתי לבעיית שינוי התבנית.

חיפושים ברשת הובילו אותי למספר תוספים שכולם התגלו כחסרי תועלת עבורי, על כן החלטתי לתור את הנושא לבד.

הבסיס הרעיוני לפתרון הוא פשוט:

  • הוספת ממש עריכה בסיסי לתבנית דרך דף אפשרויות
  • הממשק הנ"ל ישמור את המידע לקובץ המקושר ישירות לבלוג הספציפי
  • התבנית תשלוף את הקובץ ותשתמש בו כקובץ css

גם המימוש לא היה מסובך במיוחד, הוספתי לקובץ functions.php את המידע הבא:

החלטתי לשמור את קבצי הסגנון החדשים עבור כל בלוג בספריית הקבצים של הבלוג, ועל כן הפונקציה להוספת ה-CSS החדש ל-header נראית כך:
[sourcecode language='php']
function mytheme_wp_head() {
global $blog_id;
echo "\n \n";
}
[/sourcecode]

הוספת ממשק הניהול התפצל לשתי פונקציות. הראשונה אחראית על שמירת המידע שהוזן בממשק וכן על הוספת תפריט לדף החדש:
[sourcecode language='php']
function mytheme_add_admin() {
global $themename, $shortname, $options;
global $blog_id;

if ( $_GET['page'] == basename(__FILE__) ) {
if ( 'save' == $_REQUEST['action'] ) {
$content = stripslashes($_POST['cssdata']);
$fname = ABSPATH."wp-content/blogs.dir/".$blog_id."/files/style.css";
$f = fopen($fname, "w") or die("can't open file $fname");
fwrite($f, $content);
fclose($f);

header("Location: themes.php?page=functions.php&saved=true");
die;
}
}
add_theme_page("שינוי עיצוב", "שינוי עיצוב", 'edit_themes', basename(__FILE__), 'mytheme_admin');

}
[/sourcecode]

השניה אחראית על הצגת דף הממשק למשתמש:[sourcecode language='php']
function mytheme_admin() {
global $themename, $shortname, $options;
global $blog_id;
if ( $_REQUEST['saved'] ) echo '

המידע נשמר בהצלחה.

';
$fname = ABSPATH."wp-content/blogs.dir/".$blog_id."/files/style.css";
if (file_exists($fname))
$content = file_get_contents($fname);
else
$content = ";
?>

CSS

[/sourcecode]

עכשיו רק נותר לדאוג שכל העסק הזה אכן יפעל:[sourcecode language='php']
add_action('wp_head', 'mytheme_wp_head');
add_action('admin_menu', 'mytheme_add_admin');
[/sourcecode]

025 ממשק שינוי css נהניתם ? הרשמו לעדכוני RSS !

וורדפרס מרובה משתמשים 1.3

במסגרת עבודה על אחד הפרויקטים של בלוגלי, תרגמנו מחדש לעברית את מערכת וורדפרס מרובת משתמשים. לפני כשנה, כשפתחנו את בלוגלי, הבטחנו שנשחרר את המערכת המתורגמת והיום סוף-סוף זה קורה.

על מנת להקל על העבודה הרמנו אתר למערכת. האפשרויות השונות לקבלת עזרה נמצאות בדף התמיכה שבאתר.

במידה ונתקלתם בבעיה בגרסה העברית או מצאתם בעיית תרגום אנא הודיעו לנו בתגובה באתר המערכת, בקבוצת התמיכה או בדואר אלקטרוני: info at blogli dot co dot il

היתרון של גרסה זו היא שעשינו כל שביכלתנו להוציא את העברית אל מחוץ לקוד ולאפשר תאימות מקסימלית עם הגרסאות הבאות של וורדפרס מרובה משתמשים.

הגרסה העברית של מערכת וורדפרס מרובת משתמשים תורגמה ומתוחזקת על-ידי צוות אתר בלוגלי.

025 וורדפרס מרובה משתמשים 1.3 נהניתם ? הרשמו לעדכוני RSS !