Title: Pretty Google Calendar
Author: LBell
Published: <strong>اکتوبر 13, 2021</strong>
Last modified: جنوری 4, 2026

---

پلگ انز تلاش کریں

![](https://ps.w.org/pretty-google-calendar/assets/icon.svg?rev=2613871)

# Pretty Google Calendar

 منجانب [LBell](https://profiles.wordpress.org/lbell/)

[ڈاؤن لوڈ کریں](https://downloads.wordpress.org/plugin/pretty-google-calendar.2.2.1.zip)

 * [تفصیلات](https://ur.wordpress.org/plugins/pretty-google-calendar/#description)
 * [جائزے](https://ur.wordpress.org/plugins/pretty-google-calendar/#reviews)
 *  [انسٹالیشن](https://ur.wordpress.org/plugins/pretty-google-calendar/#installation)
 * [ڈیولپمنٹ](https://ur.wordpress.org/plugins/pretty-google-calendar/#developers)

 [معاونت](https://wordpress.org/support/plugin/pretty-google-calendar/)

## تفصیل

#### Plugin Migration Notice

Pretty Google Calendar is transitioning to [Hydrogen Calendar Embeds](https://wordpress.org/plugins/hydrogen-calendar-embeds/).
Please install that plugin for future updates and improvements.

#### Why Switch to Hydrogen Calendar Embeds?

 * No more fussing with the Google API — just use simple .ics calendar feeds
 * Display any calendar that provides a public .ics feed (e.g. Google Calendar, 
   Apple Calendar, Outlook, etc.)
 * Works with **blocks** _and_ **shortcodes**
 * More features, fewer bugs, and still lightweight
 * 100% FREE
 * Active development and ongoing support

#### Legacy Pretty Google Calendar Features

**You:** I just want to embed a Google Calendar in my WordPress site.
 **Google:**
Here’s a special kind of ugly! **Pretty Google Calendar:** I got this.

This is a light and simple to use plugin that embeds Google Calendars in your website
with style, beauty and grace.

**Highlights:**

 * Out of the box support for calendar grid and agenda list view (and most other
   FullCalendar views)
 * Responsive design switches to list view on smaller screens
 * List view customizable to day, week, month, year or custom number of days

**How it works:**

 1. Continue to manage events using Google Calendar as you’ve always done.
 2. Add a shortcode to your page.
 3. Sigh with relief.
 4. That’s it.

## اسکرین شاٹس

 * [[
 * Pretty Google Calendar.
 * [[
 * List View.
 * [[
 * Optional Event Popover.
 * [[
 * Settings page. It’s that simple.

## انسٹالیشن

 1. Upload the `pretty-google-calendar` folder to the `/wp-content/plugins/` directory.
 2. Activate `Pretty Google Calendar` through the ‘Plugins’ menu in WordPress dashboard.
 3. Obtain your Google Calendar API key (see below)
 4. Add the API key to Settings -> Pretty Google Calendar Settings
 5. Use the shortcode `[pretty_google_calendar gcal="calendarID@group.calendar.google.
    com"]` directly in your page or post content.

**Shortcode Options**

    ```
    gcal="CalendarID,CalendarID"
    ```

Calendar ID of the desired google calendar (note: must be set to ‘Make available
to public’. To display multiple calendars, separate ID’s by a comma. (Note: calendars
must fall under same API access.))

    ```
    cal_ids="identifier,identifier" \
    ```

Optional custom CSS identifiers for each calendar (must match the number of calendars
in `gcal`). Allows using meaningful names instead of numeric indexes for styling.
Example: `cal_ids="soccer,baseball"` generates classes like `.pgcal-calendar-soccer`
and `.pgcal-calendar-baseball`. Identifiers should be lowercase alphanumeric with
hyphens.
 Defaults to numeric indexes (0, 1, 2, etc.)

    ```
    locale="en"
    ```

Sets the locale for calendar. Defaults to "en”.

    ```
    list_type="listCustom"
    ```

Sets the list type. Options: `listDay`, `listWeek`, `listMonth`, `listYear`, and`
listCustom`. (Also accepts day, week, month, year, and custom).
 Defaults to `listCustom`
for backward compatibility.

Note: `listCustom` allows you to set the number of days you want to display from
the current date. Whereas listMonth shows
 all the events from this month (including
past events), `list_type="custom" custom_days="28"` will show the next 28 days across
months.

    ```
    custom_days="28"
    ```

Sets the number of days to show in the list tab. Defaults to 28. Only used with 
listCustom.

    ```
    custom_list_button="list"
    ```

Sets the label for the listCustom button. Defaults to "list”.

    ```
    views="dayGridMonth, listCustom"
    ```

Sets the view types available. If only one view is provided, no view switch buttons
will be shown. Defaults to "dayGridMonth, listCustom”.

    ```
    initial_view="dayGridMonth"
    ```

Sets the default view to be displayed when opening the page. Defaults to "dayGridMonth”.
Note: If only one view is specified in "views”, "initial_view” will automatically
be set to that view and does not need to be specified.

    ```
    enforce_listview_on_mobile="true"
    ```

Sets the change to the list view behavior on small screens. Options: "true” and "
false”. Defaults to "true”. This option has no effect if there is no list view declared
in the "views” option.

    ```
    show_today_button="true"
    ```

Sets the visibility of the "Today” button. Options: "true” and "false”. Defaults
to "true”.

    ```
    show_title="true"
    ```

Sets the visibility of the calendar title. Options: "true” and "false”. Defaults
to "true”.

    ```
    hide_past="false"
    ```

Hides past events from the calendar completely. Options: `true` and `false`. Defaults
to `false`. When set to `true`, events before today will not be displayed in any
view.

    ```
    id_hash=random
    ```

Sets the ID hash for a calendar. If you have multiple calendars on a page and need
to style them, you can set this to a permanent code. Otherwise, it’ll randomly generate
each load. (Note: as of v2.0.0 this can only be alphanumeric.)

    ```
    use_tooltip="true"
    ```

Migrating from global setting for individual calendar styling. Whether the floating
tooltip for event pops up on click.

    ```
    no_link="true"
    ```

Migrating from global setting for individual calendar styling. Whether to disable
link to calendar.google.com on click.

    ```
    fc_args = JSON string ((EXPERIMENTAL))
    ```

Allows you to override or impliment just about any FullCalendar argument (with some
exception). For example: `fc_args='{"weekNumbers":"true", "eventTextColor":"red"}'`

Note: any argument that contains `[]` will fail due to WordPress’ parsing of shortcodes.
No workaround currently.
 Note: this is experimental – things may break.

**Styling Multiple Calendars**

As of v1.7.0, each calendar gets it’s own CSS selector: `pgcal-event-#` where the#
is the order of the listed calendar (starting with 0). So if you have two calendars
in one, you can use `pgcal-event-0` to style the first, and `pgcal-event-1` to style
the second calendar.

The following improvements were made in v2.2.0 for easier styling of multiple calendars:
–
Custome calendar identifiers via `cal_ids` shortcode argument (see above) (defaults
to numeric indexes if not provided). – Events get new class name: `pgcal-calendar-
0-event` for consistent naming convention (old class `pgcal-event-0` is still supported
for backward compatibility). – Event pop-up tooltips now get a calendar-specific
class: `pgcal-calendar-0-event-popup` for easier styling of event pop-ups per calendar.

**Obtaining Google Calendar API Key**

 1.  Go to the Google Cloud Console and sign in.
 2.  Click the project selector (top bar)  New project.
 3.  Give the project a name and click Create.
 4.  With the project selected, go to APIs & Services  Library.
 5.  Search for Google Calendar API and click Enable.
 6.  Go to APIs & Services  Credentials.
 7.  Click Create credentials  API key.
 8.  Copy the API key.
 9.  (Recommended) Restrict the key:
 10.  a. Click the API key you just created.
      b. Under Application restrictions, choose Websites (HTTP referrers).
      c. Add your site’s URL (e.g. https://example.com/*).
      d. Under API restrictions, choose Restrict key.
      e. Select Google Calendar API.
      f. Click Save.
 11. Paste the API key into Pretty Google Calendar’s Google API field in WordPress 
     and save.

Make your Google Calendar public:

 1. In the Google Calendar interface, locate the “My calendars” area on the left.
 2. Hover over the calendar you need and click the downward arrow.
 3. A menu will appear. Click “Share this Calendar”.
 4. Check “Make this calendar public”.
 5. Make sure “Share only my free/busy information” is unchecked.
 6. Click “Save”.

Obtain your Google Calendar’s ID:

 1. In the Google Calendar interface, locate the “My calendars” area on the left.
 2. Hover over the calendar you need and click the downward arrow.
 3. A menu will appear. Click “Calendar settings”.
 4. In the “Integrage Calendar” section of the screen, you will see your "Calendar 
    ID”. It will look something like “abcd1234@group.calendar.google.com” (or your 
    email if it’s your default calendar) this is the value you enter into the shortcode.

## عمومی سوالات

### What sorcery is this?!

Pretty Google Calendar impliments the excellent [Full Calendar](https://fullcalendar.io/)
for you, and tosses in a little [Tippy.js](https://atomiks.github.io/tippyjs/) and
[Popper](https://popper.js.org/) to make things… well… pop.

### Can I use this to manage a calendar?

No. All calendar events are maintaned via Google Calendar, this plugin just displays
them in a non-shitty way.

### How do I theme the calendar?

Add custom css to your theme to tweak to your desire.

### Can this plugin do X,Y or Z?

Probably not. But it maybe could!

Pretty Google Calendar is purposefully simple and easy, set up with a few defaults
to make things just work. However, there may be a killer feature you want that others
are clammering for.

Since it is based on Full Calendar, theoretically, anything that is possible there
is possible here. Contact me for requests for additional functionality, and let’s
see what we can create together!

## جائزے

![](https://secure.gravatar.com/avatar/ca61fbca7318b10fc2fd7e5ea28614e81d03b1cafbf94a8af63d1adbceee312b?
s=60&d=retro&r=g)

### 󠀁[Does exactly as advertised](https://wordpress.org/support/topic/does-exactly-as-advertised-17/)󠁿

 [Chattanooga Church of God 7th day](https://profiles.wordpress.org/chattcog7/) 
جولائی 14, 2024 1 reply

This plugin is a Godsend. It is amazing how hard it is to find a plugin that displays
the Google calendar without a bunch of other stuff shoved in that you don’t need.
This one is simple and just works.

![](https://secure.gravatar.com/avatar/d4eff7515990099779dc9a1cce6f7db7e4a045c7e82f4cf78120a825eca201ff?
s=60&d=retro&r=g)

### 󠀁[Amazingly good](https://wordpress.org/support/topic/amazingly-good-10/)󠁿

 [hmijail](https://profiles.wordpress.org/hmijail/) اپریل 30, 2024

Makes it easy, too!

![](https://secure.gravatar.com/avatar/aed69f3bd3d4ae0bb12c875564537c18d0cc093d31d288f26ff8b023dd430bcd?
s=60&d=retro&r=g)

### 󠀁[Great Plugin. Worth Every Star](https://wordpress.org/support/topic/great-plugin-worth-every-star-2/)󠁿

 [EncodeDotHost](https://profiles.wordpress.org/encodedothost/) مارچ 27, 2024

If you are wanting to show Google Calendars on your WordPress website, look no further.
Highly recommend this plugin. Great Support 👍

![](https://secure.gravatar.com/avatar/f2d684fc55b2ed73275ee81514ecf4bab75c5fd9aff64b420f376ab250865055?
s=60&d=retro&r=g)

### 󠀁[Easy, Responsive, Customizable](https://wordpress.org/support/topic/easy-responsive-customizable/)󠁿

 [rodolforizzo76](https://profiles.wordpress.org/rodolforizzo76/) مارچ 8, 2024

Pretty Google Calendar is an extraordinarily useful and welcome plugin, especially
considering Google’s disappointing default integration. It is responsive and seamlessly
adapts to any screen, switching to list mode when necessary. Customization is simple
and intuitive, allowing you to modify colors and fonts to seamlessly integrate with
your website. The synchronization simply "works,” and the shortcode is rich in parameters,
including language localization, offering complete control over the calendar’s appearance
and behavior. In short, Pretty Google Calendar is the ultimate solution for integrating
Google calendars easily and effectively on WordPress. Thank you for this contribution.

![](https://secure.gravatar.com/avatar/105f05a0b08ba7eb8c22c8b0441a307881600130533b2b3ccdaaa6723f8679f2?
s=60&d=retro&r=g)

### 󠀁[Fantastic](https://wordpress.org/support/topic/fantastic-3301/)󠁿

 [snowliondev](https://profiles.wordpress.org/snowliondev/) فروری 26, 2024

This is just what i was looking for.

![](https://secure.gravatar.com/avatar/af0abe01f7216d23614eae491834dbe111c42b581adb97f7fcd609afc2f0dbf2?
s=60&d=retro&r=g)

### 󠀁[THIS is AWESOME.](https://wordpress.org/support/topic/this-is-awesome-119/)󠁿

 [heerohe](https://profiles.wordpress.org/heerohe/) جنوری 8, 2024 1 reply

Yes, it does take a while, because it needs a Google Calendar API key… (arghs), 
and it is embedded via Shortcode. But the result! All my fonts, all the colours,
everything happens right according to my template. It looks SO BLOODY good. I am
SO VERY HAPPY. (And yes, I am a beginner with WordPress & Oxygen, and I am still
baffled with how complex everything is. So I might be overly enthusiastic.)

 [ تمام 20 جائزے پڑھیں ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/)

## شراکت دار اور ڈیویلپرز

“Pretty Google Calendar” اوپن سورس سافٹ ویئر ہے۔ مندرجہ ذیل لوگوں نے اس پلگ ان میں
حصہ لیا:

شراکت دار

 *   [ LBell ](https://profiles.wordpress.org/lbell/)

“Pretty Google Calendar” کا 6 زبانوں میں ترجمہ کیا گیا ہے۔ تعاون کے لیے [مترجمین](https://translate.wordpress.org/projects/wp-plugins/pretty-google-calendar/contributors)
کا شکریہ۔

[“Pretty Google Calendar” کا اپنی زبان میں ترجمہ کریں۔](https://translate.wordpress.org/projects/wp-plugins/pretty-google-calendar)

### ڈویلپمینٹ میں دلچسپی ہے؟

[کوڈ براؤز کریں](https://plugins.trac.wordpress.org/browser/pretty-google-calendar/)،
[ایس این وی ریپوزیٹری](https://plugins.svn.wordpress.org/pretty-google-calendar/)
کو چیک کریں یا [ڈویلپمینٹ لاگ](https://plugins.trac.wordpress.org/log/pretty-google-calendar/)
کو سبسکرائب کریں بذریعہ [آر ایس ایس](https://plugins.trac.wordpress.org/log/pretty-google-calendar/?limit=100&mode=stop_on_copy&format=rss)۔

## چینج لاگ

#### 2.2.1

 * Introducing Hydrogen Calendar Embeds! (See https://wordpress.org/plugins/hydrogen-
   calendar-embeds/)

#### 2.2.0

 * Fixed: Handle spaces in multiple calendar IDs (Fixes #39)
 * Fixed: Free/busy events with undefined titles now display "Busy” (Closes #41)
 * Fixed: fc_args removing views
 * Added: hide_past shortcode argument (Closes #48)
 * Added: close button to tooltip (Closes #59)
 * Added: Better CSS in tooltip (Closes #56)
 * Added: Handle displayEventEnd arg in popup
 * Added: Download .ics button in popup
 * Added: Pupup button styling
 * Added: calendar-specific popup styling classes (closes #46)
 * Added: Custom calendar identifiers via `cal_ids` shortcode arg

#### 2.1.0

 * Fixed: Better list args parsing (Fixes #57)
 * Fixed: Removed hardcoded timezone argument for correct local time display. Override
   with `fc_args='{"timeZone":"###"}'` if needed.
 * Fixed: Admin CSS versioning
 * Fixed: Sanitization of Google API key in admin
 * Improved: id_hash generation
 * Improved: Automatic initial_view resolution when only one view is specified (
   Fixes #51)

#### 2.0.2

 * Fixed: Security fix (no known exploit)

#### 2.0.1

 * Tested: WordPress 6.9

#### 2.0.0

 * Fixed: XSS vulnerability (required elevate privileges, not likely to be exploited).
   May break CSS for folks using the `id_hash` shortcode argument.
 * Tested: WordPress 6.5.2

#### 1.7.2

 * Tested: WordPress 6.4.3
 * Fixed: Security fix

#### 1.7.1

 * Fixed: full FullCalendar locale support
 * Updated: FC Google Calendar to 6.1.10

#### 1.7.0

 * Tested: WordPress 6.4.2
 * Added: (Almost) full implimentation of FullCalendar args (see Shortcode Options)
 * Added: Colors for multiple calendars in one
 * Fixed: Removed view restrictions
 * Update: FullCalendar to v6.1.9
 * Update: Tippy.js to 6.3.7
 * Update: Popper.js to 2.11.8

#### 1.6.2

 * Fixed: Broken table margin

#### 1.6.1

 * Fixed: Arg parsing in shortcode

#### 1.6.0

 * Added: Multiple calendars on one page
 * Added: use_tooltip shortcode arg for calendar specific options
 * Added: no_link shortcode arg for calendar speficic options
 * Fixed: Security fixes

#### 1.5.1

 * 

#### 1.5.0

 * Tested to WordPress 6.3.1
 * Added: End times in details popup
 * Added: Location under time in popup
 * Added: Shortcode instructions link to settings page
 * Fixed: URLs in descriptions are now parsed
 * Fixed: Remove seconds on pop-up time

#### 1.4.1

 * Fixed: localization text domain

#### 1.4.0

 * Added: support for multiple calendars displayed in one
 * Added: full internationalization (Thanks @mwguerra!)
 * Added: new shortcode parameters (view, initial_view, enforce_listview_on_mobile,
   show_today_button, show_title) (Heroic work by @mwguerra!)
 * Tested to WordPress 6.0.3

#### 1.3.1

Version bump for WP’s awkward versioning system.

#### 1.3.0

 * Added: list type switcher
 * Added: custom list button label
 * Added: locale support

#### 1.2.0

 * Added: disable link option
 * Added: "list_days” shortcode option
 * Fixed: timezone on tooltip
 * FullCalendar update to v5.11.0
 * Tested to WordPress 5.9.3

#### 1.1.0

Initial Public Release

## میٹا

 *  Version **2.2.1**
 *  Last updated **4 مہینے پہلے**
 *  Active installations **5,000+**
 *  WordPress version ** 3.0 یا اس سے جدید **
 *  Tested up to **6.9.4**
 *  Languages
 * [Czech](https://cs.wordpress.org/plugins/pretty-google-calendar/)، [Dutch](https://nl.wordpress.org/plugins/pretty-google-calendar/)،
   [English (US)](https://wordpress.org/plugins/pretty-google-calendar/)، [Portuguese (Brazil)](https://br.wordpress.org/plugins/pretty-google-calendar/)،
   [Russian](https://ru.wordpress.org/plugins/pretty-google-calendar/)، [Spanish (Chile)](https://cl.wordpress.org/plugins/pretty-google-calendar/)،
   اور [Swedish](https://sv.wordpress.org/plugins/pretty-google-calendar/).
 *  [اپنی زبان میں ترجمہ کریں](https://translate.wordpress.org/projects/wp-plugins/pretty-google-calendar)
 * Tags
 * [calendar](https://ur.wordpress.org/plugins/tags/calendar/)[fullcalendar](https://ur.wordpress.org/plugins/tags/fullcalendar/)
   [gcal](https://ur.wordpress.org/plugins/tags/gcal/)[google calendar](https://ur.wordpress.org/plugins/tags/google-calendar/)
 *  [اعلی درجے کا منظر](https://ur.wordpress.org/plugins/pretty-google-calendar/advanced/)

## درجہ بندیاں

 4.6 out of 5 stars.

 *  [  18 5-star reviews     ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/?filter=2)
 *  [  2 1-star reviews     ](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pretty-google-calendar/reviews/)

## شراکت دار

 *   [ LBell ](https://profiles.wordpress.org/lbell/)

## معاونت

کچھ کہنا ہے؟ مدد چاہیے؟

 [معاونتی فورم دیکھیں](https://wordpress.org/support/plugin/pretty-google-calendar/)

## عطیہ دیں

کیا آپ اس پلگ ان کی ترقی میں معاونت کرنا چاہتے ہیں؟

 [ اس پلگ ان کو عطیہ دیں ](https://github.com/sponsors/lbell)