Saturday, January 30, 2016

9 Best Webinar Software for WordPress Users

Do you want to run a webinar on your WordPress site? Webinars provide an interactive way to reach users, share your experience, and grow your business. In this article, we will share some of the best webinar software for WordPress users.


Webinar software for WordPress users


What is Webinar Software and When You Need it?


The term webinar comes from seminar, a gathering to exchange ideas, learning, collaborate and meet. The only difference is that webinars take place on the web, and all the participants join in using their desktop or mobile devices.


Webinars are popular on websites that offer online classes. A webinar software allows multiple users to join in a video stream. The organizer and participants can all interact, share content, chat, and conference simultaneously.


If you want to run an online training website, then take a look at our guide on how to add a learning management system in WordPress.


Having said that, let's take a look at some of the best webinar software available for WordPress users.


1. GoToWebinar


GoToWebinar


GoToWebinar brought to you by GoToMeeting is one of the most popular choice for webinar software. They are known for their reliable platform and ease of use. It works beautifully on all devices and offers equally great user experience.


They have ‘pass the control' feature which allows you to give your keyboard and mouse control to any participant in the meeting. You can also share desktop applications, screen, presentations, and files.


Their training webinar solution allows easy registration and quick setup. The training webinar solution also offers live polls and surveys, course material sharing, and the ability to host large or small groups. All the features that a training provider would need from a webinar software are packed right in.


GoToWebinar comes with different pricing plans for different usage scenarios. Their starter plan starts from $89 per month for 100 attendees going up to $299 / month for 1000 attendees.


2. Webinars OnAir


Webinars OnAir


One disadvantage of using Google Hangouts is that you cannot charge users directly. Webinars OnAir is built around Google Hangouts and allows you to charge users for joining a webinar.


It comes with all the features of Hangouts and then some more. It has a built-in retargeting pixel which allows you to track your audience across the web. You can show special offers to your attendees during the webinar, generate leads, and automatically save webinar to YouTube.


Webinars OnAir pricing starts from $19.97 per month for maximum 25 participants. For $99.97 per month you can have maximum 5000 participants and all the features.


3. WebinarJam


Webinar Jam


WebinarJam is another webinar software that uses Google Hangouts and adds marketing features to it. This allows you to host very large webinars with all the powerful features of a professional webinar tool.


WebinarJam allows you to manage registrations, use screen and file sharing, interact with participants all under the same software. It is built for marketers and has custom landing pages that you can use for registration, email notifications, polls, quizzes, and live offers during sessions.


It also automatically records all webinar sessions, you can decide whether you want to publish them to YouTube. You can also replay them whenever you want.


Pricing starts from $497/year, which makes it one of the most affordable options.


4. StealthSeminar


StealthSeminar


StealthSeminar is another easy to use webinar software. It not only offers the live webinar software, it also combines it with recorded webinars or automated hybrid webinars. This allows you to completely automate the process of running a webinar.


You get powerful moderation tools to control the discussions and user flow. StealthSeminar also integrates easily with email service providers like MailChimp, AWeber, etc.


There are quite a lot of features for marketers, like placing unlimited call to actions that can be fired automatically at any given time. It also provides detailed analytics and split testing so that you can analyze your performance and improve on that.


Stealth seminar costs $97.00 in registration fee, then $69.95 per month for 150 users plan.


5. Google Hangouts


Google Hangouts


Google Hangouts is probably the most easy to use webinar software currently available. It is incredibly fast and free. Anyone with a Google account can use it.


Apart from the usual voice and video calling, it allows multiple users to join a hangout. Users can share files, chat, share computer screens, and so much more.


Hangouts on Air allow you to live broadcast webinars and share them with the world of specific people. You can also record your hangouts and share them on YouTube.


The downside is that it does not have paid user registrations or any marketing features that you would need to run a professional webinar.


Take a look at our guide on how to embed a live Google+ Hangout session in WordPress and how to add a Google+ Hangout event countdown in WordPress.


6. Cisco WebEx


Cisco WebEx


Cisco WebEx is one of the industry leaders in premium web conferencing and organizing professional webinars. It has all the professional tools you will need to conduct professional meetings.


WebEx's training center allows you to create webinars targeted towards teaching and learning. It has additional tools to take live polls, quizzes, track performances, conduct tests and surveys, etc. Users can also share any apps, screens, notes, and files.


Pricing starts from $24 per month for 8 users to $69 per month for upto 100 users.


7. Zoom


Zoom


Another powerful contender in the webinar software industry is Zoom. It allows you to host highly interactive video conferences and meetings with HD quality audio and video.


One of the most interesting features of Zoom is the ability to share mobile screens from your phone or tablet. You can also split the screen in two to show the panelists and the shared screen at the same time.


Zoom has a free plan with limited features. Their basic plan starts at $14.99 per month. They also have an educational plan for learning centers of all shapes and sizes.


8. AnyMeeting


AnyMeeting


AnyMeeting offers solutions for hosting large and small webinars. It comes with all the standard features you would expect from a professional webinar software.


It allows you to host large group calls, video and audio conferences, with screen and file sharing features. As a training tool it also includes polls, quizzes, follow up tests, notes, presentations, and large groups of upto 1000 attendees.


AnyMeeting's pricing plans start from $18/month for 30 participants to $298 per month for 1000 participants.


9. Adobe Connect


Adobe Connect


Adobe Connect is one of the most powerful and feature rich webinar software in the market. It offers all the bells and whistles that you would expect from a platform created by one of the IT giants.


Adobe Connect makes it super easy to host online meetings and conferences, run webinars, training, and online courses. Their highly interactive platform makes sharing easier for both the audiences and the host.


Users and experts have repeatedly praised the user experience, ease of use, reliability and performance of Adobe Connect.


It has different pricing plans billed annually. For Adobe Connect Webinars, the pricing starts from $1250/year/webinar manager for upto 100 users.


We hope this article helped find some of the best webinar software for WordPress users. You may also want to see our list of 40 useful tools to manage and grow your WordPress blog


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.


The post 9 Best Webinar Software for WordPress Users appeared first on WPBeginner.


WP-CRM System: A Total CRM Solution for WordPress

Are you a freelancer, or small business owner who has been struggling to keep projects, or tasks organized? Have you looked into using a Customer Relationship Management (CRM) system, but were either turned off by the cost or the complexity of the system? WP-CRM System is the solution you have been looking for.


How to Hide the WordPress Toolbar on Your Website for Good

WordPress automatically displays a toolbar at the top of the page when you’re logged in. Whether you're using your site in the backend or checking it out on the front-end, the toolbar is always there – and for many it's really annoying.


For developers, the toolbar can slightly throw off a theme's design, especially if you have some CSS styling that may not be visible with the admin bar in the way. For others, the toolbar is simply distracting.


Either way, it’s easy to disable the toolbar. Here are a few quick ways to hide it.


1. Turn Off the Admin Toolbar in Settings


To remove the toolbar from your site, go to Users > Your Profile. Scroll down to “Toolbar” and uncheck “Show Toolbar when viewing site."



Check the toolbar option to turn it off when viewing your site on the front-end.
Check the toolbar option to turn it off when viewing your site on the front-end.


And that’s all you need to do. The toolbar will no longer appear on your site… only on the front-end, that is. The toolbar will continue to display on the backend of your site.


Since the toolbar displays useful information, such as quick links to the front-end of your site, creating new posts and pages, and to access your profile, it's best to leave this particular toolbar as is – it does contain important information about your site, after all.


2. Remove the Admin Toolbar with Code


If you would rather remove the toolbar completely with code, just drop the following snippet into your functions.php file:




This code will stop the toolbar from displaying on the front-end of your site.


It's a good idea to create a child theme if you're planning to implement this method rather than edit your raw functions.php file. If you're not sure how, or need a refresher, check out our comprehensive guide How to Create a WordPress Child Theme.


3. Remove the Admin Toolbar with a Plugin


If you don't want to muck around with code, your best option is to use a plugin.


One of the most popular options in the WordPress Plugin Directory is WP Admin Bar Removal. It's a simple plugin that, once installed and activated, automatically hides the toolbar on the front and backend of your site. It even removes the toolbar option on your user profile page.



The backend of my site, sans admin toolbar.
The backend of my site, sans admin toolbar.


Did you try out this tweak on your site? What other tweaks have you made to your install to customize WordPress to suit you? Let us know in the comments below.


Adding Company Info to Your WordPress Site with Global Variables

A client I recently built a site for wanted to display company contact details in multiple places on the front-end of his site.


A simple enough task, yes, but also one I knew would quickly become tedious – not only would I have to copy and paste the same information in many different places but if the client wanted to update his contact details they would have to be edited in various locations.


The solution? Global variables. Unfortunately, WordPress doesn’t provide a way to set up and use global variables by default, so I went about putting together a custom solution that would allow my client to easily input his details in one place so they could be disseminated and published across his site.


Here’s how.


Creating a New Admin Setting


In order to make it super easy for my client to enter his contact details, I created a new setting in the backend that he could access: Settings > Contact Info.


This new screen allows him to enter his company information, including phone number, fax number and email address.


Here's a peek at what we'll be building:



The new Contact Info screen.
The new Contact Info screen.


In order to implement this solution on your own site, you need to add some code to your functions.php file. However, it's always best to create a child theme rather than mess around making changes to functions.php. If you're not sure how to create a child theme or need a refresher, check out our comprehensive guide How to Create a WordPress Child Theme.


Here's the code, which I'll go through it in more detail below.




The code is fairly self-explanatory with the comments, but here's what it does in a nutshell:


The first function, theme_settings_page, sets up the Contact Info screen in the backend of the site, while the next three functions pull in the user's phone, fax and email information.


Next, the code tells WordPress what needs to be enqueued in the form area of the screen, specifically using the add_settings_section, add_settings_field and register_setting functions.


Lastly, in order to add a sub-menu page to the Settings main menu, we use the add_options_page function.


Displaying Contact Info on the Front-end


Now that the client can input his details in the backend, we need to actually display that information on the front-end of his site.


Add the following snippet to your site on the page where you want the contact information to display:




This snippet checks if the phone number is filled out and if it is then the number is displayed, otherwise the message "Support silence is golden" is shown instead.


It looks like this on the client's website:



The client's contact information is displayed on his site using a global variable.
The client's contact information is displayed on his site using a global variable.


If the client later updates his information and forgets to enter his information, it would display like this instead:



Oh oh! The client forgot to add his phone number.
Oh oh! The client forgot to add his phone number.


Wrapping Up


Using global variables allows you to quickly and easily display the same set of information anywhere on your site without the need for manually entering data each time it changes.


This snippet is especially helpful if you work on sites for clients that own physical locations and need to display contact information, or have online details such as a phone number or email address they want listed in multiple places on their site.


Do you think this kind of customization would be useful on your site? Have you customized your WordPress site in a similar way before? Let us know your ideas for tweaking this snippet in the comments below.


Saturday, January 23, 2016

How to Fix WordPress RSS Feed Errors

Are you encountering a RSS feed error on your WordPress site? Recently one of our readers asked us how to fix WordPress RSS feed errors. There are multiple type of RSS feed errors and they can be caused by changes in plugins and themes. In this article, we will show you how to find and fix WordPress RSS feed errors.


WordPress RSS feed error


Most Common WordPress RSS Feed Errors


Most common WordPress RSS feed errors are caused by poor formatting. WordPress outputs RSS feeds in XML which is a strict markup language. A missing line break or an extra tab can break your RSS feed.


The RSS error message will look something like this:



XML Parsing Error: XML or text declaration not at start of entity

Location: http://example.com/feed

Line Number 2, Column 1:


Depending on what browser you are using, your RSS feed error message may vary.


You can also see this error message when visiting your feed in a browser.


Warning: Cannot modify header information – headers already sent by (output started at /home/username/example.com/wp-content/themes/twentysixteen/functions.php:433) in /home/username/example.com/wp-includes/pluggable.php on line 1228


If you are using FeedBurner, then your errors may look different.


Having said that, let's take a look at what causes these RSS feed errors and how to fix them.


Manually Fixing RSS Feed Errors in WordPress


The most likely reason for your RSS feeds to show error is poor formatting. This poor formatting can be caused by a blank space after closing php tag in a plugin or in your theme's functions.php file.


If you recently added a code snippet to your theme or child theme‘s functions.php file. Then you need to edit your functions file.


If there is a closing php tag at the end of your functions file, make sure that there is no extra space or line breaks after it.


Ideally, the closing PHP tag is not required at the end of the file. This is why it would be best if you remove the closing php tag altogether.


This should fix the problem in most cases. However, if it does not fix your RSS feed error, then continue reading.


Fixing WordPress RSS Feed Errors Using Plugin


First thing you need to do is install and activate the Fix My Feed RSS Repair plugin. Upon activation, simply go to Tools » RSS Feed Fix page.


Fix RSS feed button


Click on the Fix feed button and that's all.


You can now visit your feed in a browser window or test it with a feed validator tool.


We hope this article helped you fix WordPress RSS feed errors on your site. You may also want to take a look at our guide on how to make separate RSS feed for each category in WordPress.


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.


The post How to Fix WordPress RSS Feed Errors appeared first on WPBeginner.


Understanding CSS3 Flexbox for Clean, Hack-Free Responsive Design

Remember how hard it used to be to vertically center content on your site? If you’re struggling with the words “used to be” in that last sentence, you obviously haven’t cottoned onto flexbox yet and need to read on.


CSS wasn’t originally designed to handle the complex template styling that we see on the web these days, forcing developers to come up with CSS hacks to get content looking right.


Flexbox, or flexible boxes, is a relatively new layout module in CSS3 designed to improve item alignment, direction and order in a container even when it’s dynamic or of an unknown size. It’s most important feature is the ability to modify the width or height of its children to fill the available space in the best possible way on different screen sizes.


In this post, I’ll walk you through how flexbox works and how to add it to your WordPress stylesheet so your website is up-to-date with the latest CSS standards.



What is Flexbox?


Flexbox is one of the first modules designed for actual layout and makes styling with CSS easier and, in some cases, actually possible.


The module designed to enhance the CSS box model by allowing containers and their contents to be flexible. Using flexbox, a container and its children can be arranged in any direction: Left, right and even up or down. You can choose the order of elements on the page and reorder them, align your content from right to left with a single property, or even add any number of columns to your page. Size is also flexible since elements can grow to occupy unused space or shrink to prevent overflow.


The cool thing is that even though flexbox isn't yet officially a part of CSS3, all major browsers support it including Android and iOS.


When to Use Flexbox for Your Layout


I recently wrote about grid layouts, a similar improvement to CSS also designed for better layouts. There's a subtle difference between the two which makes one suitable for creating complete layouts and the other not so much.


While flexbox is technically capable of creating a full layout for your theme, it's not designed exclusively for this purpose. Rather, it's better suited for styling separate containers such as your main content area, sidebar, header and other similar sections. Grids are ideally used for creating an entire layout.


The difference lies in the way flexbox inherently interacts with major browsers that load progressively. The content that shows up first gets stretched horizontally to fit the entire screen. As more containers load, the full-width horizontal display adjusts and shrinks to include the surrounding elements.


As developer advocate for Chrome Jake Archibald notes in his article Don't Use Flexbox for Overall Page Layout, what an end user sees is a sudden jump of the layout from content appearing as full-width to the actual size, which may be a lot smaller. While this is only a concern for users with slower internet connections, it still poses a problem for user experience. With this in mind, you don't need to choose between the two –  use grids for layouts and flexbox for content within that layout.


Containers, Children, and Flex


Before you start coding your first flexbox, there are some important concepts that you need to understand first. According to the W3C's CSS Flexible latest working draft:



  • flexbox – A container becomes a flexbox after you include the display property and set it to flex or inline-flex

  • flex item – A child element within a flexbox

  • main axis / main dimension – The main axis of a flex container is the primary axis along which flex items are laid out. It extends in the main dimension

  • cross axis / cross dimension – The axis perpendicular to the main axis is called the cross axis. It extends in the cross dimension

  • main-start / main-end – The flex items are placed within the container starting on the main-start side and going toward the main-end side

  • cross-start / cross-end – Flex lines are filled with items and placed into the container starting on the cross-start side of the flex container and going toward the cross-end side

  • main size / main size property – A flex item’s width or height, whichever is in the main dimension, is the item’s main size. The flex item’s main size property is either the width or height property, whichever is in the main dimension.

  • cross size / cross size property – The width or height of a flex item, whichever is in the cross dimension, is the item’s cross size. The cross size property is whichever of width or height that is in the cross dimension.



The flexbox model, including all the properties used to describe the container and its children.
The flexbox model, including all the properties used to describe the container and its children.


There are also certain properties in CSS that don't have an effect on flexboxes since they aren't actually block containers:



  • column-*

  • float

  • clear

  • vertical-align

  • ::first-line and ::first-letter pseudo elements


Building a Container with HTML5


With that all out of the way, you can now start building your flexbox. To do this, you first need to add some HTML5 to the WordPress page of your choice, whether it's header.php, archive.php, page.php or whatever file ends up being seen by your visitors on the front end.


Create a div and a recognizable ID for it based on your needs, similar to the example below:




Within that container, you can add whatever content you want.


I'm going to build a custom homepage with a large area at the top for a call to action, three smaller sections underneath in separate columns where I'll place prompts and another section below it for additional information.


To accomplish this, I'll add the code below into my otherwise completed index.php file and I'll also add the div I included above.




When you have added your main div and all the other content you wish to include, you have the foundation you need to build your first flexbox. To accomplish this, you need – as you probably already guessed – some CSS.


Creating and Styling Your Flexbox


To create your flexbox, you need to define the display property for your container. It should look similar to the example below:




This creates your flexbox at block-level. Alternatively, if you wanted to apply styles inline, you would type inline-flex instead of flex.


Now you're free to add the styling for your flex items below your new flexbox you just created.


Though you have just made your first flexbox, you haven't yet added any flexbox-related properties to really see how much you can do with it. For example, you can use flexbox to help keep your content responsive so it views well across all devices.


Styling for Responsiveness


There are many properties you can include in your flexbox and to help create a page that's responsive, you can order your flex items.


To place your flex items in an order of your choosing, all you need is the order and shorthand flex property.


While there are a number of properties you can use to adjust your content such as the flex-basis, flex-grow and flex-shrink properties, the W3C recommends that you use shorthand and this comes in the form of a single property called flex.


Here's an example of what these properties look like in action with the homepage I'm creating:




I know, seems fine, but what does this all mean, right? It may seem a little tough to follow at first, but it's not too difficult to understand once you get the hang of it.


The order property simply needs a number to tell your browser which flex item to display before the others. Starting from one, you can choose which flex item to show first. An order of 2 would display the flex item second, order:3; would display an item third and so on.


You can also use negative numbers. If you suddenly realize in editing that you need to add a flex item before the first one that's already ordered, you can set the new flex item to order:-1; so it's displayed before the first flex item. Handy, isn't it?


The shorthand flex property is where things start looking a bit complicated. Fortunately, there's a fairly straightforward explanation: This property sets the flexible sizing of a flex item relative to the total size of the flexbox.


Essentially, you can set the size of a flex item to scale based on the available space. This means that if a user visits your site on a mobile device, you can set your content to automatically shrink to fit the screen size or in the case of desktop browsers, your content can grow to fit the entire size of the window.


Not all of your flex items have to do this, though, since you can disable flexible sizing for flex items that need to stay a certain size. For example, you may want a small ad to remain the same size on all screens since your client may get upset if you're charging the same price for truncated exposure on smaller screens.


So how can you make this happen? Here are the ins and outs of using flexible sizing with the shorthand flex property.


First off, it's comprised of three values from their longhand property counterparts:



  • flex-grow – Sets if and how big your flex item can scale to fit unoccupied space. It can only be a positive number.

  • flex-shrink – You can let your flex item shrink if the item is larger than the screen size. Negative numbers don't have an effect.

  • flex-basis – The initial size of the flex item before any flexible sizes are applied and before there is free space to occupy or a lack of space. Can be set as pixels or a percent.


Once you know how the longhand properties work, you can start coding in shorthand:



  • flex:initial or flex:0 1 auto – This setting makes the flex item size relative to the content that's inside of it. It grows if there's a lot of content and shrinks if there are only a few lines of text, for example. If there's free space available, the item doesn't grow to fit the whole area, but it is set to shrink if there's a shortage of room.

  • flex:auto or flex:1 1 auto – Either of these options lets your flex item shrink and grow as needed to fit any screen size where your page is viewed.

  • flex:none or flex:0 0 auto – This disables flexible sizing and sets your flex item size to be fixed and non-adjustable to the end user viewing your site on any screen size.

  • Relative flexible sizing with flex: 1 %px – The positive number you type first sets the portion of free space your flex item occupies relative to your other flex items if they use this same pattern. The second number lets the item shrink on smaller screens. The third value in either pixels or percent sets the initial size of the flex item, but keep in mind it also disables the flex-basis property which means this initial size isn't guaranteed. If there's enough space to display this initial sizing then it's shown, but if there isn't enough space, the exact sizing isn't displayed. This is especially true if the item's order appears lower in the list and other previous items in the order take up most of the space. An example of this option would be flex:2 1 0%.


For any of these options to work, you need to first set the size of your flexbox with a height and width. The size you choose completely depends on your specific needs.


Building upon the example stylesheet above, here's what your flexbox CSS might look like with sizing added:




With this setup, all of the flex items in this example show up on the same line. Since I want to display a call to action, with extra prompts directly beneath it and additional information displaying last and on a new line, I need to add the flex-flow property and set it to wrap content in rows.


To accomplish this setup, I need to add this property to the flexbox and here's what it looks like with the code I created for my homepage:




When one or more flex items occupy the length of the flexbox, the other flex items ordered after them are placed on a new row.


The basic structure is all set up now, but since I didn't add any extra styling such as background colors, it won't look like much when you view the page. To give you a better idea of what the final styling of my homepage should look like, I'll add some extra optional and basic styling:




I also added paragraph tags to the HTML portion so that I could style the text:




Just remember that if you choose to include the min-width property with your flexbox or flex items, it could cause your flexbox to not work as expected and could override your flexbox settings.


The end result creates a very basic front page to be sure, but it sets the foundation. With a little bit of work and some more styling, you can create the responsive WordPress page and the site you desire.



Wrapping Up


The advancements to version three of CSS as of late brought the @media rule and other improvements which made modern, responsive layouts and themes that much easier to create. Now, with the proposed flexbox in draft, you can create modern designs without the use of CSS hacks for cleaner code that's also much easier to write.


You now have all the tools you need to get started with flexbox right away, but there are so many more properties you can use to help achieve even more. Fortunately, you can access a complete list on the W3C's working draft of flexbox.


Since there could still be changes that are applied to flexbox, it's a good idea to keep an eye on the working document for flexbox to keep up-to-date on the latest developments.


If you want a fun way to help cement what you've learned in this post, I would highly recommend you check out Flexbox Freddy, a fun game designed to help you better understand how flexbox and its properties work.



Image credits: Scotch.io


What do you think of flexbox? Could you see yourself using it? Do you think it would save you time? Feel free to share your thoughts in the comments below.


Nonprofit Volunteer Management with Ease

For many nonprofits, volunteers are not only a fantastic way to help provide services to the community, but also an opportunity to develop a group of loyal supporters. Unfortunately, the process of recruiting, managing and tracking volunteers can become exhausting. And with so much else on your plate, the last thing you want is to pore over a spreadsheet of volunteers or spend your time tirelessly sending out reminder emails.