WP-CLI הינו סט כלים המספקים פוקציונליות לניהול אתרי וורדפרס. במדריך זה, נתאר את יתרונות השימוש ב WP-CLI ונדגים מספר פקודות מתקדמות שיעשו לכם את החיים קלים יותר בסביבת הפיתוח של וורדפרס. ניתן להשתמש ב wp-cli בכדי או לשנמך או את הגירסה [...]
WP-CLI הינו סט כלים המספקים פוקציונליות לניהול אתרי וורדפרס. במדריך זה, נתאר את יתרונות השימוש ב WP-CLI ונדגים מספר פקודות מתקדמות שיעשו לכם את החיים קלים יותר בסביבת הפיתוח של וורדפרס. ניתן להשתמש ב wp-cli בכדי או לשנמך או את הגירסה של וורדפרס לגירסה ספציפית.
עדכון לגירסה האחרונה של וורדפרס:
wp core update
עדכון לגירסה מסויימת של וורדפרס:
wp core update --version=5.5.3
התקנה או שנמול של גירסת וורדפרס:
wp core update --version=5.5.3 --force
בדיקה של גירסת וורדפרס שמותקנת:
wp core version
או עם מידע נוסף:
wp core version --extra
וורדפרס 5.2 הציגה עימה את מנהל הבלוקים המאפשר לקבוע איזה בלוקים יהיו פעילים וזמינים עבורכם (או עבור הלקוח) בתהליך עריכת התוכן בעורך של גוטנברג. הנה כיצד לפתוח את אותו מנהל בלוקים: וכך נראה אותו מנהל הבלוקים. הסירו את הסימון מהבלוקים [...]
וורדפרס 5.2 הציגה עימה את מנהל הבלוקים המאפשר לקבוע איזה בלוקים יהיו פעילים וזמינים עבורכם (או עבור הלקוח) בתהליך עריכת התוכן בעורך של גוטנברג. הנה כיצד לפתוח את אותו מנהל בלוקים:
וכך נראה אותו מנהל הבלוקים. הסירו את הסימון מהבלוקים אותם אתם מעוניינים להסתיר:
לגרום לוורדפרס להיות מהירה יותר זה תהליך מתמשך. פעולה קטנה בעלת משמעות מינימלית היא הסרת DNS Prefetching של הכתובות הבאות (אם אתם מעוניינים להסיר אלו): <link rel=’dns-prefetch’ href='//s.w.org'/> <link rel='dns-prefetch' href='//fonts.googleapis.com'/> בקוד המקור זה נראה כך לדוגמה: בכדי להסיר אלו [...]
לגרום לוורדפרס להיות מהירה יותר זה תהליך מתמשך. פעולה קטנה בעלת משמעות מינימלית היא הסרת DNS Prefetching של הכתובות הבאות (אם אתם מעוניינים להסיר אלו):
<link rel=’dns-prefetch’ href='//s.w.org'/>
<link rel='dns-prefetch' href='//fonts.googleapis.com'/>
בקוד המקור זה נראה כך לדוגמה:
בכדי להסיר אלו הוסיפו את הקוד הבא לקובץ functions.php
של התבנית שלכם:
function remove_dns_prefetch () {
remove_action( 'wp_head', 'wp_resource_hints', 2, 99 );
}
add_action( 'init', 'remove_dns_prefetch' );
אם אינכם יודעים, הנה פוסט המסביר מה זה DNS.
סניפט מאד שימושי המאפשר להגביל את מספר השורות של טקסט מסויים באמצעות CSS בלבד. נעשה זאת באמצעות התכונה line-blamp ב CSS ובאופן הבא: .text { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; /* number of lines to show */ [...]
סניפט מאד שימושי המאפשר להגביל את מספר השורות של טקסט מסויים באמצעות CSS בלבד. נעשה זאת באמצעות התכונה line-blamp ב CSS ובאופן הבא:
.text {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; /* number of lines to show */
-webkit-box-orient: vertical;
}
וזה ה Markup למשל:
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam consectetur venenatis blandit. Praesent vehicula, libero non pretium vulputate, lacus arcu facilisis lectus, sed feugiat tellus nulla eu dolor. Nulla porta bibendum lectus quis euismod. Aliquam volutpat ultricies porttitor. Cras risus nisi, accumsan vel cursus ut, sollicitudin vitae dolor. Fusce scelerisque eleifend lectus in bibendum. Suspendisse lacinia egestas felis a volutpat.
</div>
היום ניתן מבט על עמוד התשלום של ווקמורס וספציפית נראה כיצד לבטל צורת תשלום מסויימת לקוח בהתאם לשיטת המשלוח אותה הוא בחר. למשל ביטול ״תשלום בהמחאה״ לשיטת המשלוח ״איסוף מקומי״. בכל מקרה הינה קוד סניפט המאפשר לעשות משהו בסגנון (functions.php): [...]
היום ניתן מבט על עמוד התשלום של ווקמורס וספציפית נראה כיצד לבטל צורת תשלום מסויימת לקוח בהתאם לשיטת המשלוח אותה הוא בחר. למשל ביטול ״תשלום בהמחאה״ לשיטת המשלוח ״איסוף מקומי״.
בכל מקרה הינה קוד סניפט המאפשר לעשות משהו בסגנון (functions.php
):
/**
* @snippet ביטול צורת תשלום מסויימת עבור שיטת משלוח ספציפית
* @author Roee Yossef
* @website https://savvy.co.il
*/
function sv_gateway_disable_shipping_326( $available_gateways ) {
if ( ! is_admin() ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if ( isset( $available_gateways['cod'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
unset( $available_gateways['cod'] );
}
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'sv_gateway_disable_shipping_326' );
באפשרותכם לבדוק כיצד פייסבוק תציג פוסט בזמן שיתוף באמצעות ה Facebook Debugger (ולחיצה על כפתור ה Debug). אם החלפתם תמונה ובזמן שיתוף עדיין מופיעה התמונה הישנה – בצעו Debug לפוסט ואחר מכן לחצו על Scrape Again על מנת שפייסבוק יזהו [...]
באפשרותכם לבדוק כיצד פייסבוק תציג פוסט בזמן שיתוף באמצעות ה Facebook Debugger (ולחיצה על כפתור ה Debug).
אם החלפתם תמונה ובזמן שיתוף עדיין מופיעה התמונה הישנה – בצעו Debug לפוסט ואחר מכן לחצו על Scrape Again על מנת שפייסבוק יזהו את התמונה החדשה.
רק נציין כי לפעמים יש צורך ללחוץ על Scrape Again יותר מפעם אחת על מנת שפייסבוק יזהו את השינויים.
אם אתם משתמשים ב PayPal כאפשרות רכישה בעמוד התשלום של ווקומרס, דעו כי באפשרותכם להחליף את הלוגו של פייפאל המוצג בעמוד התשלום. הוסיפו את הקוד הבא לקובץ functions.php של התבנית שלכם: /** * Add custom gateway icons * * @param [...]
אם אתם משתמשים ב PayPal כאפשרות רכישה בעמוד התשלום של ווקומרס, דעו כי באפשרותכם להחליף את הלוגו של פייפאל המוצג בעמוד התשלום. הוסיפו את הקוד הבא לקובץ functions.php
של התבנית שלכם:
/**
* Add custom gateway icons
*
* @param string $icon Image HTML.
* @param string $gateway_id Gateway ID.
*
* @return string
*/
function sv_custom_wc_gateway_icons($icon, $gateway_id)
{
// Example for PayPal:
if ('paypal' == $gateway_id) {
$icon = '<img src="' . get_stylesheet_directory_uri() . '/images/paypal.svg" alt="' . __('PayPal') . '" />';
}
return $icon;
}
add_filter('woocommerce_gateway_icon', 'sv_custom_wc_gateway_icons', 10, 2);
שנו את הנתיב ואת שם הקובץ לתמונה החדשה ואתם מסודרים!
הקוד הבא מאפשר לכם להאריך את משך הזמן שלוקח עד שוורדפרס מנתקת אתכם אוטומטית מהמערכת, כלומר מממשק הניהול של וורדפרס (Automatic Logout). הוסיפו את הקוד לקובץ functions.php של התבנית שלכם: function keep_me_logged_in_for_1_year( $expirein ) { return 31556926; // 1 year [...]
הקוד הבא מאפשר לכם להאריך את משך הזמן שלוקח עד שוורדפרס מנתקת אתכם אוטומטית מהמערכת, כלומר מממשק הניהול של וורדפרס (Automatic Logout). הוסיפו את הקוד לקובץ functions.php
של התבנית שלכם:
function keep_me_logged_in_for_1_year( $expirein ) {
return 31556926; // 1 year in seconds
}
add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
בכדי לשנות את הנראות של ענן התגיות השתמשו בסניפט המצורף. רפרנס מלא של האפשרויות ניתן למצוא בקישור הבא: // Tag cloud custom function style_tags($args) { $args = array( 'largest' => '10', 'smallest' => '10', 'format' => 'list', ); return $args; [...]
בכדי לשנות את הנראות של ענן התגיות השתמשו בסניפט המצורף. רפרנס מלא של האפשרויות ניתן למצוא בקישור הבא:
// Tag cloud custom
function style_tags($args) {
$args = array(
'largest' => '10',
'smallest' => '10',
'format' => 'list',
);
return $args;
}
add_filter('widget_tag_cloud_args', 'style_tags');
באפשרותכם להסתיר ממשתמש מסויים תפריטים הקיימים בלוח הבקרה של וורדפרס. החליפו את username בשם המשתמש של האדם ממנו אתם רוצים להסתיר את אותם התפריטים ובזאת סיימתם: function remove_menus() { global $menu; global $current_user; get_currentuserinfo(); if($current_user->user_login == 'username') { $restricted = [...]
באפשרותכם להסתיר ממשתמש מסויים תפריטים הקיימים בלוח הבקרה של וורדפרס. החליפו את username בשם המשתמש של האדם ממנו אתם רוצים להסתיר את אותם התפריטים ובזאת סיימתם:
function remove_menus()
{
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == 'username')
{
$restricted = array(__('Posts'),
__('Media'),
__('Links'),
__('Pages'),
__('Comments'),
__('Appearance'),
__('Plugins'),
__('Users'),
__('Tools'),
__('Settings')
);
end ($menu);
while (prev($menu)) {
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL ? $value[0] : "" , $restricted)) {
unset($menu[key($menu)]);
}
} // end while
} // end if
}
add_action('admin_menu', 'remove_menus');