Black Friday 2023 deals have arrived for WordPress.com.
WORDPRESS
The New and Improved Jetpack Mobile Editor – WordPress.com News

After introducing the Jetpack Mobile app earlier this year, we’re focused on making it the best WordPress experience on your mobile device. We’ve started by updating the design of the mobile editor.
Below we walk you through the changes we’ve made that streamline your writing and editing experience on mobile. You’ll find these improvements when your app updates to version 22.9.
Fresh color palette
We’ve replaced soft blue tones with a striking black and white style, which not only looks cleaner but is simply easier to see as well. Overall, we’ve aligned our styles more closely to the WordPress.com desktop experience, including the more familiar block inserter button.
Cleaner top navigation

We’ve hidden the site title to make room for global actions like “Undo.” Your site icon is shown next to the back arrow, where you can tap to leave the editor. We’ve also added a border to clearly separate the navigation bar from your content.
Faster media insertion

We’ve added in-line media blocks when you have no other block selected, so you can add an image or video faster without opening the full block list.
More space to write

We’ve hidden the blue border around the paragraph block while you’re typing to let you focus on writing.
Unified block controls

It used to be that some block controls were shown on top of the block, taking space from your content. Now all the block controls live in the toolbar, with the settings icon up first.
New ways to move blocks

The up and down arrows, which move blocks within your posts and pages, have moved to the right side of the toolbar. And if you missed it, we introduced drag and drop last year, so you can move blocks manually.
More to come
You’ll find these improvements when your app updates to version 22.9.
We’ll be continuing to make improvements to the mobile editor. In the meantime, we’d love to hear what you like, what challenges you’ve encountered, and any ideas you have. It may very well shape what we work on next.
Join 100,759,758 other subscribers
WORDPRESS
How to Accept Alipay Payments in WordPress (2 Easy Methods)

Are you wondering how to receive Alipay payments in WordPress?
Alipay is a digital wallet based in China with over 1 billion active users. Accepting Alipay payments on your WordPress site means you open the door to a broader audience, potentially increasing your sales.
In this article, we will explain how to accept Alipay payments in WordPress. That way, you can tap into a large market of users who prefer using this payment method.

Why Should You Accept Alipay Payments in WordPress?
Alipay is a payment app that allows users to send and receive money online. It is a dominant player in the Chinese market and is now gaining popularity in Singapore, Malaysia, Hong Kong, and across the world.
It’s also not just used by international users. Many domestic dropshipping stores that buy products wholesale use Alipay as well. That’s because Alipay is the primary payment method for Alibaba and AliExpress, which are two eCommerce giants.
Alipay is well on its way to serving over 2 billion customers worldwide, so adding it as a payment option will help you tap into a huge market and attract customers from regions where Alipay is popular.
That being said, let’s dive into the 2 ways you can accept Alipay payments. You can use our links to jump to skip ahead to the method you prefer:
Method 1: Easily Collect Alipay Payments With WP Simple Pay (Recommended)
For this method, we will use WP Simple Pay, which is the best Stripe payment plugin on the market. With this plugin, you can accept payments without needing to set up any complicated APIs on your site.


WP Simple Pay integrates into Stripe’s payment options, which allows businesses using Stripe to accept payments from customers who want to pay with Alipay.
The good news is you can use WP Simple Pay Lite since it can accept Alipay payments. Best of all, it’s 100% free.
Note: You will need WP Simple Pay Pro for access to the Alipay payments form. With the free version, you can only create an Alipay payment button to add to your pages. Also, you won’t be able to build on-site payment forms without the paid plan.
For most businesses, we recommend WP Simple Pay Pro. This paid version accepts 10+ payment methods and offers recurring payments, buy now, pay later plans, and an advanced form builder.
For this tutorial, we will be using the Pro plan so that we can build a payment form to accept Alipay payments. The process is the same with the free plan, but you will have access to fewer features.
Step 1: Install and Activate WP Simple Pay
To begin, you’ll need to install and activate the WP Simple Pay plugin. If you need help, read our tutorial on how to install a WordPress plugin.
Upon activation, the plugin will automatically launch the WP Simple Pay setup wizard. You’ll need to click on the ‘Let’s Get Started’ button.


Step 2: Complete the Setup Wizard
You’ll be taken to the next step in the process. From there, you’ll have to create a new Stripe account or connect to an existing one. Click the ‘Connect with Stripe’ button to move to the next screen.


Assuming you already have a Stripe account, you can type in your email address and click the ‘Continue’ button.
It will integrate your Stripe data into your site. That way, all of the payments you receive will go to your Stripe account.


From here, you’ll be prompted to select your Stripe account.
Then hit ‘Connect.’ Or you can choose to create a new account instead.


Step 3: Create a Form to Accept Alipay Payments
Once you’ve connected your Stripe account, you will need to create a payment form.
Go ahead and click the ‘Create a Payment Form’ button.


You will land on a template library where you can pick one from the many pre-built templates for your form.
Next, look for the ‘Alipay Payment Form’ and click on ‘Use Template.’


As soon as you choose the template, you will be taken to an intuitive drag-and-drop builder.
You will also be prompted to configure the General settings. This is where you will customize the title, description, form type, and more.
There are also options to add a CAPTCHA and email verification button to prevent fake orders.


If you go to the ‘Confirmation Page’ tab, you can configure where you direct users when they complete the form.
By default, WP Simple Pay will show a custom success page when a customer makes a payment. But you can select ‘Custom Page’ if you’d like to show a different page hosted on your WordPress site. This is a great opportunity to send them to a thank you page and even upsell them on more products or services.
Or, if you prefer to redirect customers to an external page, you can select ‘External URL.’ You can also add a ‘Payment Success Message’ to thank customers and tell them what they can expect from you next.


After that, you need to go to the ‘Payment’ tab on the left.
This is where you will set the ‘Default Price.’


And under the ‘Payment Methods,’ be sure to check off the box next to Alipay to begin accepting Alipay payments on your site.
You can also choose other payment methods, such as a Card or ACH direct deposit. If you have WP Simple Pay Pro, you will have full access to 13 payment methods, including Apple Pay, Google Pay, Afterpay, Klarna, Cashapp, and more.


Then, go to the ‘Form Fields’ tab on the left. Here, you can add or change any existing form fields.
All you need to do is hit the dropdown menu under ‘Form Fields’ and click ‘Add Field.’


You have plenty of options to choose from, such as phone, address, coupon, and more.
Step 4: Publish Your Alipay Form
Once your form is ready to go, make sure to save your changes. Next up, you are ready to publish and embed your Alipay payments form on your site.
Go ahead and click the ‘Publish’ button on the right side.


Now, you will need to embed the form in your WordPress website. Just go to the post or page where you want to include your form. This could be a services page, a product page, or anywhere else.
On the top left corner, hit the ‘+’ button.


Search for the WP Simple Pay block to add it to your page.
You’ll see the block appear in the block editor.


In the dropdown menu, simply select the Alipay payment form you’ve just created.
You will see the form embedded into your page.


Finally, hit ‘Publish’ or ‘Update.’
There you have it. Now you know how to easily collect Alipay payments on your WordPress site.


Don’t forget to test the form to ensure payments are going through.
Here’s an example of what the form should look like:


Method 2: Accept WooCommerce Alipay Payments With Stripe Payment Gateway Plugin
If you run a WooCommerce store, then you may want to use a payment plugin instead. While you can add a WP Simple Pay button or form to your product pages, it may not embed into the form as seamlessly.
With a WooCommerce plugin, Alipay will integrate smoothly into the payment page as a checkbox that customers can tick off during the checkout process.
Step 1: Install the WooCommerce Stripe Plugin
To get started, you will need to download the free WooCommerce Stripe plugin. This plugin will redirect users to the Alipay payment page, where they can log in and authorize the payment.
Go to the WooCommerce Stripe plugin page and click on ‘Free Download.’


From here, you will be directed to the cart page.
Check that the order details are correct and hit ‘Proceed to Checkout.’


You’ll be taken to the checkout page. All you need to do is enter your name and email address.
After that, just click on the ‘Pay $0.00’ button.


You’ll be directed to the thank you page.
Just click the ‘Download’ button so you can download the plugin files to your computer.


From here, all you need to do is install the WooCommerce Stripe plugin by uploading it to WordPress. If you need help, you can follow our step-by-step guide on how to install a WordPress plugin.
Step 2: Enable Alipay in WooCommerce
Upon activation, you need to head over to WooCommerce » Settings in your WordPress dashboard. Then go ahead and navigate to the ‘Payments’ tab.


If you scroll down the page, you will find ‘Stripe Alipay’ as a payment method.
Simply toggle on the button to enable Alipay for your WooCommerce site. Click on ‘Save changes’ at the bottom.
Then go ahead and click ‘Finish set up’ next to the Alipay option.


Step 3: Add Your Stripe Account
You will now be asked to integrate your Stripe account.
Just hit the ‘Create or connect an account button’ to add your Stripe account to WooCommerce.


All you have to do is choose your Stripe account and click ‘Connect.’
If you don’t have a Stripe account yet, then you can select ‘Create a new account.’


Step 4: Activate Alipay
Now, your Stripe account is fully connected to your online store.
You will need to go back to the ‘Payments’ tab. Next to the ‘Stripe Alipay’ method, click on ‘Manage.’


This is where you will be able to configure the Alipay settings, such as the name and description that appear on your checkout page.
Go ahead and click on the ‘Activate in your Stripe Dashboard link.’


You will be directed to your Stripe account’s payment method tab in the settings.
Scroll down to find ‘Alipay,’ and next to it, click on ‘Request access.’


From here, a popup message will appear asking if you want to activate Alipay payments.
Simply hit the ‘Continue’ button to accept Alipay payments in your WooCommerce store.


After you’ve requested access, you need to wait for Stripe to approve your account. It should take about 1-2 business days before you can begin accepting Alipay payments.
When you are approved, you should receive an email from Stripe letting you know that Alipay has been activated for your Stripe account.


On top of that, you will want to go to your Stripe account’s payment methods and make sure that it doesn’t say ‘Pending’ next to Alipay.
Otherwise, you’ll have to wait until Stripe approves your request.


Now, all you need to do is check that the Alipay method appears at checkout for your customers.
Go to any product page and go through the checkout progress. Under the order summary, you should see an option for customers to pay with Alipay.


When the customer places an order, they should be sent directly to the Alipay login page. That is where they can log in to their Alipay account and finalize their payment.
Then, the money goes straight into your Stripe account through the integration.


There you have it! Now, you are ready to accept Alipay payments in your WooCommerce store.
We also recommend adding other WooCommerce payment gateways, such as PayPal and Square, to give customers more options to choose from.
We hope this article helped you learn how to accept Alipay payments in WordPress. You may also want to see our guide on how to easily accept credit card payments in WordPress and our picks for the must-have WordPress plugins and tools for business sites.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
WORDPRESS
10 Best WordPress Translation Plugins For Global Traffic & Reach in 2023

Looking for the best WordPress translation plugins?
WordPress is the go-to choice for site owners across the globe. As of now, the CMS powers an impressive 810 million websites.
However, not all those sites cater to an English-speaking audience. And that’s why adding a WordPress translation plugin to your site can be extremely valuable.
The best WordPress translation plugins seamlessly translate your content for a global audience. Plus, they boast many other features that help drive engagement and conversions for your business.
Let’s take a look at the best plugins out there, including their key features and price plans:
10 Best WordPress Translation Plugins For Multilingual Websites
It’s not uncommon for WordPress websites to be restricted to just English. But this seemingly minor mistake can deprive you of millions of visitors and customers from non-native English-speaking regions around the world.
According to a study, 9 out of 10 users prefer visiting a website in their own language. Fortunately, tons of WordPress plugins in the market can turn your website into a multilingual hub within a few clicks.
Let’s take a look at the 10 best translation plugins for WordPress below:
1. GTranslate: Best Overall

If you’re running a WordPress site and must go multilingual, GTranslate is your tool. Developed by Translate AI Multilingual Solutions, it leverages Google Translate to cover nearly 103 languages. This means your site can reach over 99% of internet users.
The plugin is affordable and user-friendly and offers automatic and human translations. You get features like machine translation and compatibility with WooCommerce.
GTranslate even handles languages left and right, offering various styles for its language selector.
For SEO, the paid version packs a big punch. It works with Yoast for meta translations and supports URL translation. You can manually tweak translations and access advanced features like image localization and AMP translation. This makes GTranslate an essential tool for sites looking to drive global audience engagement.
Key Features
- Automatic switching to visitors’ browser language
- Translate non-AMP, AMP, and Schema
- Translations for subdirectory and subdomain structures
- Google Analytics integration
Pricing
GTranslate offers a free plan that provides machine translation for all languages. Paid plans start at $9.99/month and includes features like front-end editing and search engine indexing for translated pages.
2. Weglot: Easiest To USe


Weglot tackles two major issues with typical WordPress plugins:
- Server space
- And manual management
Instead of duplicating your site in multiple languages, Weglot saves server space by automatically translating all content, including media, and saving them on their own CDN. This means you avoid maintaining multiple versions of your site while retaining loading speeds.
The plugin also offers versatile translation options. It uses services like Google, Yandex, and DeepL for quick results. You have the choice to enter translations for specific languages manually. Weglot also allows integration with human translators for super-accurate results.
However, probably the greatest feature of Weglot is its customizable glossary that keeps distinct terms, such as your brand name, consistent across all languages.
Key Features
- Automatic translation and content detection
- Clean source code for all translated web pages
- Dedicated URLs and subdomains
- Integrates with Shopify and other platforms
Pricing
Weglot’s free plan lets you translate up to 2,000 words in 1 extra language. Paid plans start at $16.50 per month and offer higher word limits and additional languages.
3. WPML: Total Translation Solution


WPML is a top choice for translating WordPress sites. It lets you translate your site and themes, plugins, and more.
With a handy translation management system, setting up translator roles and linking translators to specific languages is a breeze.
WPML gives you three ways to translate: manually, by professional translators, or through machine translation services like Google. It can connect your site to third-party translation services, too.
Plus, WPML offers different URL options for SEO-friendly websites.
The only downside is that it only supports around 40 languages, less than some other paid plugins.
Key Features
- Import multilingual content to WordPress in a click
- Option to manually add unsupported languages (or choose from variants)
- Advanced custom fields
- Compatible with Gravity Forms, WooCommerce, and more
Pricing
WPML only comes with the following paid plans:
- Blog: $43 per year with no credits
- CMS: $109 per year with 90,000 auto translation credits
- Agency: $218 per year with 180,000 auto translation credits
4. Google Website Translator


Prisna’s Google Website Translator plugin is free and designed to create multilingual websites easy. It brings Google Translate to WordPress and can convert your content into more than 100 languages. The plugin is user-friendly, and its lightweight nature ensures your site’s speed remains fast.
To use GWT, you only need to paste a shortcode in that part of your website. This means no extra files from other platforms are needed. The plugin also handles the translation work automatically, giving you more time to manage other aspects of your business.
Key Features
- Import/export configurations and settings for different sites
- Setup support during the initial phase
- Open-source software
Pricing
Prisna Google Website Translator is completely free to install and use.
If you’re suffering from sluggish loading speeds, check out our guide on Why Is My WordPress Website Loading So Slow? 6 Ways To Boost Your Site Speed.
5. TranslatePress


TranslatePress offers a unique approach to website translation in WordPress. Unlike other plugins, it doesn’t confine you to the backend for translation tasks. Instead, it provides a real-time view of your translations, functioning similarly to a page-builder. This ensures your site maintains its look and feel across different languages.
TranslatePress grants detailed control over translations, letting you decide which website elements are translated manually or automatically. A key feature is that many of these capabilities, including this level of control, are available in the free version. The paid upgrades offer additional benefits like access to add-ons, extensions, and more sophisticated features.
Key Features
- Translate WordPress pages visually from the front end
- Google Translate and DeepL support
- 130+ languages and customizable language switcher
- SEO support for page slug, URL, and more
Pricing
TranslatePress has a free plan with support for 2 languages. You can get their Personal plan for $8.80/month and Business plan for $15.40/month to avail automatic translation and multiple accounts.
6. Loco Translate


Loco Translate—ideal for WordPress developers—is a freemium plugin. Its interface is clean and straightforward, making translation tasks super convenient. This plugin excels in syncing with top translation APIs like DeepL and Google, allowing more accurate and effective results.
While Loco Translate excels in translating themes and plugins within the WordPress admin, there’s something to note. When these themes or plugins update, you must manually refresh the translations. It doesn’t automatically update them, requiring a hands-on approach to keep translations fresh.
Key Features
- Update language files from themes directly
- Extract translatable strings from the source code
- Integration with various translation APIs
- Native MO file compilation
Pricing
Loco Translate is free for up to 2,000 translations. Once you exceed this limit, you need to sign up for one of its premium plans—Pro starts at $5.95 per month and Business starts at $19.95 per month.
7. Polylang Pro


Polylang Pro transforms your WordPress site into a multilingual hub. It translates posts, menus, categories, and even widgets. You can add as many languages as you like—the plugin will automatically organize them into subdirectories and SEO-friendly URLs for better distinction.
Polylang Pro also lets you add a language switcher in the menu or as a widget. This lets visitors pick their preferred language in an instant.
The plugin also integrates with WooCommerce, allowing site owners to translate their shop page, checkout page, and even e-mails in various languages. Polylang also pairs well with Yoast SEO and auto-translates meta descriptions to boost international SEO rankings.
Key Features
- WordPress language packs
- RTL scripts support
- Customizable language switcher
- SEO tools compatibility
Pricing
Polylang offers a free version with limited features. They offer the following paid plans:
- Polylang Pro: $108.50 per year for 1 website
- Polylang for WooCommerce: $108.50 per year for 1 website
- Polylang Business: $153.30 per year for 1 website (for both website and WooCommerce translation)
8. Lokalise


Lokalise is a simplified, AI-powered translation tool for big teams. Unlike other plugins, Lokalise offers a built-in dashboard to assign translation tasks and keep track of their progress in one shared space.
You get machine translations for cost efficiency and can tap into professional language vendors as needed. This centralized approach ensures complete visibility and context for managing translations.
Moreover, with over 50 integrations, Lokalise effortlessly fuses into your existing workflows. Their built-in tools, such as translation memory, enable teams to create a glossary of commonly used phrases and increase efficiency. These compatibilities and integrations pave the way for optimal automation, making Lokalise a go-to for cohesive and streamlined translation management.
Key Features
- Advanced translation workflows
- Translate both new and updated strings
- WordPress content export
- Automated QA checks
Pricing
Lokalise doesn’t have a free plan. Paid plans come with a complimentary 14-day free trial and start at the following prices:
- Start: $120 per month
- Essential: $230 per month
- Pro: $825 per month
9. Multilingual Press


Multilingual Press prides itself in being the best multi-site WordPress translation plugin. It lets you set up and run up to 174 languages on their own unique site.
With its language switcher widget, visitors can easily choose their preferred language. Instead of loading multiple languages in the background, Multilingual Press only displays the site your visitor wants, saving crucial loading time.
What sets Multilingual Press apart is its no lock-in feature. Meaning that even if you turn off the plugin, your translated sites keep working with zero data loss.
The plugin also gives an SEO boost to your site, generating search engine-friendly URLs and offering automatic hreflang support. This approach helps improve your website’s global rankings on multilingual SERPs.
Note: The latest version of Multilingual WordPress has Advanced Custom Fields and page builder functionality.
Key Features
- User-friendly cache system
- WP Auto Translate compatibility
- Quick links support
- Automatic language redirection
Pricing
Multilingual Press is free to download. However, using its advanced subscription requires one of the following paid plans:
- Standard: $99 per year (1 website + 3 languages)
- Pro: $299 per year (3 websites + 6 languages)
- Agency: $599 per year (9 websites + 18 languages)
10. Babble


Babble is a free open-source WordPress multilingual plugin backed by a strong community. It’s designed to be compatible with all core functions of WordPress and can be activated within a couple of minutes. All you need to do is install a language pack, enable Babble, and start translating.
The plugin offers two versions of the WordPress visual editor: the original content and a version for translators.
This setup speeds up the translation process by a huge margin. Babble is backed by an active open-source community on GitHub. And since it’s built on WordPress’s core architecture, it can generate pages up to 20% faster and with 40% fewer queries than some premium plugins.
Key Features
- Support all types of scripts and directions
- Translate any existing page or post
- Customizable language switcher
- Optimized user interface
Pricing
Babble is completely free to install and use.
How To Choose The Best WordPress Translation Plugin
Choosing the best WordPress translation plugin involves several key factors to ensure it meets your specific needs. Here is a list of criteria you should consider:
- Language support: Remember to check how many languages the plugin supports. More languages mean your site can reach a wider audience. Ensure the plugin supports the native language of at least the top 10 countries from where you get the most traffic.
- Translation quality: Consider whether the plugin uses artificial intelligence, humans, or both for translating content. For websites that contain technical information or terms, it’s always better to have the option for human input and a customizable glossary.
- Compatibility: Ensure the plugin works well with your WordPress theme and other plugins, like WooCommerce or Shopify. A plugin that interferes with existing ones can lead to errors and slow loading speeds.
- Ease of use: Look for a plugin that’s easy to use. If you have a team of translators, make sure it has a management dashboard and the option to add multiple team members. Using a plugin that features a language switcher can also benefit your site’s user-friendliness.
- SEO features: Choose a plugin that helps with multilingual SEO, like creating SEO-friendly URLs or subdomains. Some advanced plugins can automatically translate meta descriptions, making your website even more appealing on non-English search engines.
- Performance: Select a lightweight plugin that won’t slow down your site. Avoid plugins that bombard your visitors with HTTP requests or lack caching. To check how a translation plugin affects speed, test your site’s loading time before and after activating the plugin on GTMetrix or PageSpeed Insights.
- Pricing: Balance the cost with the features you need. Some free plugins offer basic features, while paid ones might offer more.
Final Verdict On The Best WordPress Translation Plugins
There you have it—the top 10 translation plugins for WordPress. People around the globe use different languages and dialects, and excluding them from your website can be inconsiderate and bad for your site’s traffic and conversion.
Installing a WordPress translation plugin like GTranslate opens doorways to new audiences, making your site not just a webpage but a global meeting place. Start today and make your WordPress website a home for everyone, no matter their language.
To upgrade your site and offer a more immersive user experience, check out our article on the 17 Best WordPress Plugins You’ll Want To Install.
Or, if you want to revamp your website’s appearance and boost rankings, explore our list of 31 Best WordPress Themes For SEO.
WORDPRESS
The Best Deals of the Year on Websites and Domains – WordPress.com News

The best Black Friday deal isn’t a disposable gadget or a trendy clothing item. Instead, consider something that will help you grow and will grow along with you. Your website isn’t just about your online presence—it’s the foundation for everything you hope to achieve.
From today through Cyber Monday (November 27), we’re offering unbeatable deals on website plans and domains.
Save up to 50% on websites
For a limited time, both our monthly and annual website plans are on sale:
50% off monthly plans
Get half off the first month of any monthly plan when you use the code bf23monthly at checkout.
25% off annual plans
Get 25% off the entire year when you purchase any 1-year plan. Use the code bf23annual at checkout.
Redeeming your discount is simple
Three simple steps for taking advantage of this Black Friday discount:
- Choose “Monthly” or “Annual” at the top of the page
- Pick your plan
- At the checkout page, click “Add a coupon code”
Here’s what you get with all paid plans
- Stunning design options: dive into a sea of themes and find the perfect one.
- Monetization tools: set up payments and donations in a flash.
- Expert support: our dedicated team is here, anytime you need.
150+ premium domain extensions up to 90% off
With over 150 domain extensions on sale, you have unlimited opportunities to express yourself or memorably brand your business. With some domains starting at under $1 for the first year, owning your identity online won’t break the bank.
Visit wordpress.com/domains to start exploring.
The most popular domains—.com, .net, and .org—are always available for just $12 per year.
These deals are valid for new website and domain purchases only (no renewals or upgrades). The offers are good through the end of the day Monday, November 27, wherever you are in the world.
Join 103.4M other subscribers
-
FACEBOOK6 days ago
Indian Government Warns Facebook, YouTube About Deepfakes, Misinformation Violations
-
MARKETING5 days ago
Whiteboard Friday Recap 2023: AI Edition
-
SOCIAL7 days ago
Meta Stock: Still Room For Upside In A Maturing Market (NASDAQ:META)
-
SOCIAL6 days ago
Instagram Will Now Enable All Users to Download Publicly Posted Reels Clips
-
SOCIAL7 days ago
X is Bringing Post Headlines Back to Link Previews In-Stream
-
MARKETING7 days ago
OpenAI: The return of the king
-
MARKETING6 days ago
Making the Most of Electronic Resumes (Pro Tips and Tricks)
-
SEARCHENGINES4 days ago
Google Merchant Center Automatically Creating Promotions