azurecurve ClassicPress Plugins: Avatars

ClassicPress PluginsThis is part of the azurecurve ClassicPress Plugins which introduces the plugins I have available for ClassicPress.

The plugin I am going to cover in this post, is a brand new one; Avatars.

Functionality

The Avatars plugin has three key pieces of functionality:

  • Upload an image file using an FTP client, to the plugins images folder, called CustomAvatar.png and, via the Discussion settings page, set this as the default avatar to replace the Gravatars used by default.
  • The admin can, via the plugin Settings page, set an option to allow only local avatars which will use the default avatar rather than any Gravatar a user might be using.
  • Users can upload their own avatar which is stored in the media library.

Demo

This site is using the Avatars plugin; you can see this in the first comment of this post where you can see my IG avatar.

Download

The plugin can be downloaded via my Development site.

azurecurve ClassicPress Plugins: Series Index

ClassicPress PluginsI’ve been involved with the ClassicPress project for a while now in a few different ways (such as writing FAQs and drafting plugin directory rules).

One of the things I have been working on is rewriting my plugins, to both improve the functionality and also to improve their adherence to coding standards and best practice. There was quite a few ways where I was not following best practice or where I had code which was not very secure.

Some plugins have had a near total rewrite while others have just been updated to do things in a more standardised and recommend way. Part of the reason I have done this, in fact been able to do this, is how welcoming and willing to offer advice the people in the ClassicPress community have been.

I have also written a number of new plugins which are all available for ClassicPress (they will also work with WordPress, but I have not submitted them to the WordPress Plugin Repository.

There have been quite a few people who have been willing to answer questions and offer assistance, but I will single out John Alarcon, known in the ClassicPress Community as Code Potent, who has gone out of his way to be of great help.

In this series of posts, I am going to give a brief introduction to each of the plugins I have available, along with links to plugin demos or examples and to my Development site where further details, download and support links are available.

Continue reading “azurecurve ClassicPress Plugins: Series Index”

WordPress/ClassicPress Plugin Development: Checking If Function Exists In Namespace

WordPress PluginI’ve been developing my own plugins for WordPress and, more reently, ClassicPress. At times it’s been necessary to check if a function exists.

It’s fairly straightforward to do this check:

if (!function_exists('azrcrv_get_breadrumbs')){
	// code here
}

I also use a few plugins developed by other people. One of the ones I’ve been reviewing recently is Estimated Read Time by CodePotent.

John uses namespaces in his plugins which means the check also needs to include the namespace. You can check for this using the following syntax (the highlighted section is the namespace defined in the plugin):

if (function_exists('CodePotent\EstimatedReadTime\process_shortcode')){
	// code here
}

I’m posting this as a reminder to myself as it took me a few minutes of searching before I found the right answer.

GitHub Announces New Unlimited Repos & Unitifed Enterprise Offering

GitHubI’ve recently been taking a look at ClassicPress and one of the subjects that came up was that it might, for the plugin directory, use GutHub instead of SVN like WordPress.

I create an account and started looking into creating repositories for my plugins. Hot all of my plugins are on that site however, as not all have been released to the public. Some of them are only going to be usable to me (for example plugins drive both the GP Table Reference and my distilleries website) and you were limited on GitHub to a certain number of private repositories.

However, GitHub yesterday announced the following:

  • GitHub Free now includes unlimited private repositories. For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free. Many developers want to use private repos to apply for a job, work on a side project, or try something out in private before releasing it publicly. Starting today, those scenarios, and many more, are possible on GitHub at no cost. Public repositories are still free (of course—no changes there) and include unlimited collaborators.
  • GitHub Enterprise is the new unified product for Enterprise Cloud (formerly GitHub Business Cloud) and Enterprise Server (formerly GitHub Enterprise). Organizations that want the flexibility to use GitHub in a cloud or self-hosted configuration can now access both at one per-seat price. And with GitHub Connect, these products can be securely linked, providing a hybrid option so developers can work seamlessly across both environments.

The second point isn’t relevant to me, but the first might be useful as it will allow me to store both my public and private plugins in the same place.

More details are available from the GitHub blog.

Installing TortoiseSVN: Commit Changes

TortoiseSVNThis post is part of the series on installing TortoiseSVN which is I use in the development of Wordpress plugins.

Once you’ve finished making the required changes to the plugin, the files need to be uploaded to the plugin repository; the example I am using in this post, is some changes I made to the azurecurve Floating Featured Image plugin.

To upload the changes, right-click on the top-level plugin folder and select SVN Commit:

Right-click SVN Commit

Continue reading “Installing TortoiseSVN: Commit Changes”

Installing TortoiseSVN: Checkout from Repository

TortoiseSVNThis post is part of the series on installing TortoiseSVN which is I use in the development of Wordpress plugins.

With TortoiseSVN installed, we can connect to an existing plugin repository; in this example I am using my azurecurve Series Index plugin.

After creating the development folder, TortoiseSVN is available from the right-click context menu. Create the development folder, right click and selectSVN Checkout:

Right-click context menu

Continue reading “Installing TortoiseSVN: Checkout from Repository”

Installing TortoiseSVN: Installing

TortoiseSVNThis post is part of the series on installing TortoiseSVN which is I use in the development of Wordpress plugins.

The first step in installing TortoiseSVN is to download the latest version. You can download it from the TortoiseSVN website:

TortoiseSVN website

Continue reading “Installing TortoiseSVN: Installing”

Installing TortoiseSVN: Series Index

TortoiseSVNDepending on how much of this blog you read, you might be aware that I have been adding functionality by writing pluginsg for WordPress which I have been publishing via the WordPress Plugin Repository.

I did try writing a blog on my Development site, but that didn’t go too well; pretty much a case of out of sight, out of mind. I have some things I want to blog about, so will be posting them here.

The first of these is an installation of TortoiseSVN which I used to upload/download updates to plugins I’ve developed.

Over the course of this series, I’ll be installing TortoiseSVN, connecting to a plugin repsitory and committing changes made.

Installing TortoiseSVN
Installing
Checkout from Repository
Commit Changes

Remove Yellow Background from Google Adsense Adverts

Microsoft Dynamics GPI’ve been hosting adverts from Google Adsense for a while and, after my last site redesign, I started using responsive adverts which scale according to the size of the browser window (or device size).

Since then, I’ve had yellow background showing either side of the adverts:

Adverts with yellow bars

The other day, I finally had time to track down and fix the issue. The html code for the adverts, which is supplied by Google, places the adverts within an ins tag and a class of adsbygoogle (see two highlighted sections):

...<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
				<!-- azurecurve Responsive Leaderboard -->>
				<ins class="adsbygoogle"
					 style="display:block"
					 data-ad-client="{adsense publisher id}"
					 data-ad-slot="5299901990"
					 data-ad-format="auto"></ins>
				<script>
				(adsbygoogle = window.adsbygoogle || []).push({});
				</script>...

The yellow background is the default colour used by WordPress for ins tags; so to remove it, all you need is a snippet of css in your stylesheet:

ins.adsbygoogle {
	background: transparent;
}

With the css saved, the yellow background disappears:

Dexterity Development ‘Unhandled script exception’ on data area

Microsoft Dynamics GPI’ve been doing some work recently on upgrading some Dexterity code to work with Microsoft Dynamics GP 2016 (both the RTM and R2). After compiling the new dictionary, I started Microsoft Dynamics GP and as the home page was loading got the following error:

MIS_AMS_Ext_160.dic - Unhandled script exception: SCRIPTS - data area. EXCEPTION_CLASS_SCRIPT_MISSING

MIS_AMS_Ext_160.dic

Unhandled script exception:
SCRIPTS - data area

EXCEPTION_CLASS_SCRIPT_MISSING

Continue reading “Dexterity Development ‘Unhandled script exception’ on data area”