My Custom Functions

説明

An easy to use, with intuitive interface, WordPress plugin that gives you the ability to easily and safely add your custom functions (PHP code) for execution in WordPress environment directly out of your WordPress Admin area, without the need to have an external editor.

It’s purpose is to provide a familiar experience to WordPress users. No need anymore editing the functions.php file of your theme. Just add your PHP code in the field on the plugin settings page and this plugin will do the rest for you.

This is a simple and perfect tool to use as your site’s functionality plugin.

It’s really useful in case of any theme update, because your custom PHP code would never be overwritten. Your custom PHP code will keep on working, no matter how many times you upgrade or switch your theme.

On the plugin settings page you find the PHP editor powered by CodeMirror. It have syntax highlighting and line numbering options. Also this editor support a tab indentation. If you want more options then tell me and I will be happy to add it.

Features

  • Lightweight and fast
  • Secure code with using clear coding standards
  • Intuitive interface with many settings
  • Cross browser compatible (work smooth in any modern browser)
  • Compatible with all WordPress themes
  • RTL compatible (right to left)
  • Translation ready

Key features include…

  • Checks the entered code for fatal errors
  • Ability to temporary disable all custom functions
  • Easy disable option for WSOD
  • Syntax highlighting (by CodeMirror)
  • Line numbering
  • Active line highlighting
  • Editor allow for tab indentation
  • And much, much more!

PRO features include…

  • Unlimited number of fields
  • Automatic backup of all functions to a file
  • Ability to temporary disable the certain function
  • Ability to collapse/expand the certain fields with code
  • Well documented

Get the PRO version now!

Coming soon:

  • Reload the settings page at same position after pushing the save button
  • Multisite network support

Translation

This plugin is ready for translation and has already been translated into several languages.

  • English (default)
  • Russian
  • Chinese-Taiwan (translation by Gordon Yu)
  • Spanish (translation by Ramiro Garcés)
  • French (translation by Theophil Bethel)

If you want to help translate this plugin then please visit the translation page.

Contribution

Developing plugins is long and tedious work. If you benefit or enjoy this plugin please take the time to:

“My Custom Functions” is one of the personal software projects of Arthur Gareginyan.

License

This plugin is licensed under the GNU General Public License, version 3 (GPLv3) and is distributed free of charge.
Commercial licensing (e.g. for projects that can’t use an open-source license) is available upon request.

Credits

Links

スクリーンショット

  • Plugin page.
  • Plugin page with custom code added.
  • Success message.
  • «Fatal error» message.

インストール

Install “My Custom Functions” just as you would any other WordPress Plugin.

Automatically via WordPress Admin Panel:

  1. Log into Admin Panel of your WordPress website.
  2. Go to “Plugins” -> “Add New“.
  3. Find this plugin and click install.
  4. Activate this plugin through the “Plugins” tab.

Manually via FTP access:

  1. Download a copy (ZIP file) of this plugin from WordPress.org.
  2. Unzip the ZIP file.
  3. Upload the unzipped catalog to your website’s plugin directory (/wp-content/plugins/).
  4. Log into Admin Panel of your WordPress website.
  5. Activate this plugin through the “Plugins” tab.

After installation and activation, the “Custom Functions” menu item will appear in the “Appearance” section. Click on this in order to view plugin administration page.

More help installing plugins

FAQ

Installation Instructions

Install “My Custom Functions” just as you would any other WordPress Plugin.

Automatically via WordPress Admin Panel:

  1. Log into Admin Panel of your WordPress website.
  2. Go to “Plugins” -> “Add New“.
  3. Find this plugin and click install.
  4. Activate this plugin through the “Plugins” tab.

Manually via FTP access:

  1. Download a copy (ZIP file) of this plugin from WordPress.org.
  2. Unzip the ZIP file.
  3. Upload the unzipped catalog to your website’s plugin directory (/wp-content/plugins/).
  4. Log into Admin Panel of your WordPress website.
  5. Activate this plugin through the “Plugins” tab.

After installation and activation, the “Custom Functions” menu item will appear in the “Appearance” section. Click on this in order to view plugin administration page.

More help installing plugins

Q. Will this plugin work on my WordPress.COM website?

A. Sorry, this plugin is available for use only on self-hosted (WordPress.ORG) websites.

Q. Can I use this plugin on my language?

A. Yes. This plugin is ready for translation and has already been translated into several languages. But If your language is not available then you can make one. The POT file is included and placed in the “languages” folder. Just send the PO file to me at the arthurgareginyan@gmail.com and I will include this translation within the next plugin update. Many of plugin users would be delighted if you share your translation with the community. Thanks for your contribution!

Q. How does it work?

A. Simply go to the plugin settings page, place your PHP code in the field, switch the toggle to the “ON” position and click the “Save changes” button. Enjoy the result of applying your PHP code. It’s that simple!
You can find the plugin settings page at “WP Admin Panel” -> “Appearance” -> “Custom Functions“.

Q. Can I use HTML/CSS/JS code integrated in PHP code?

A. Yes. But you need to do it properly, like this:
function NameOfYourFunction {

    echo "<script>
        // Your JS code
      </script>";

}
Q. How much of PHP code (characters) I can enter in the text field?

A. I don’t limit the number of characters.

Q. On the plugin settings page, an error message appears. What could be wrong?

A. Here are a few of the most likely causes of the error message:

  1. You make a syntax error in the code that you have entered. Check the syntax of your code and try again.
  2. You entered two functions with the same name. Use a unique names for your functions.
  3. You have entered function with a name that is already occupied by another function. Use a unique name for your function.
  4. You are trying to overwrite an existing function (of WordPress, theme, or plugin). Instead, use filters and hooks.
Q. Does this plugin requires any modification of the theme?

A. Absolutely not. This plugin is configurable entirely from the plugin settings page that you can find in the Admin Panel of your WordPress website.

Q. Does this require any knowledge of HTML or CSS?

A. This plugin can be configured with no knowledge of HTML or CSS, using an easy-to-use plugin settings page. But you need to know the HTML or CSS in order to add/remove/modify the HTML or CSS code by using this plugin.

Q. It’s not working. What could be wrong?

A. As with every plugin, it’s possible that things don’t work. The most common reason for this is a web browser’s cache. Every web browser stores a cache of the websites you visit (pages, images, and etc.) to reduce bandwidth usage and server load. This is called the browser’s cache.​ Clearing your browser’s cache may solve the problem.

It’s impossible to tell what could be wrong exactly, but if you post a support request in the plugin’s support forum on WordPress.org, I’d be happy to give it a look and try to help out. Please include as much information as possible, including a link to your website where the problem can be seen.

Q. What to do if this plugin crashed the website?

A. This plugin has a built-in functions for checking the custom code for syntax errors, duplicate functions names, and etc. But plugin is not perfect, so there are times when the entered custom code causes the error and white screen (WSOD). This is due to the fact that your custom code has a syntax error that this plugin could not detect. When this happens with you just do the following and all will be fine.

  1. Via FTP, go to the plugin folder (in ‘wp-content/plugins/my-custom-functions/’).
  2. Rename the “START” file to “STOP”. This will stop the execution of your custom code.
  3. Return to the plugin settings page and edit/fix your custom code that you entered before the crash.
  4. Rename the “STOP” file to “START” and you’re done!

This plugin stored you entered code in the database of your website. For getting your code, you also can go to the Database -> Table “wp_options” -> Option “anarcho_cfunctions_settings” -> “option_value“.

Q. The last WordPress update is preventing me from editing my website that is using this plugin. Why is this?

A. This plugin can not cause such problem. More likely, the problem are related to the settings of the website. It could just be a cache, so please try to clear your website’s cache (may be you using a caching plugin, or some web service such as the CloudFlare) and then the cache of your web browser. Also please try to re-login to the website, this too can help.

Q. Where to report bug if found?

A. Please visit the Dedicated Plugin Page on GitHub and report.

Q. Where to share any ideas or suggestions to make the plugin better?

A. Any suggestions are very welcome! Please send me an email to arthurgareginyan@gmail.com. Thank you!

Q. I love this plugin! Can I help somehow?

A. Yes, any financial contributions are welcome! Just visit my website, click on the donate button, and thank you!

評価

Great Plugin

This is a really useful plugin. I have used it extensively to avoid making changes to functions.php or creating child themes, including some fairly complex code. The developer is very responsive to support questions.

very useful

Simple install.
I was able to transfer all my custom code from the functions.php to the plugin page without any issues.

30件のレビューをすべて表示

貢献者と開発者

My Custom Functions はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

変更履歴

4.4.1

  • The HTTPS mixed content issue fixed by changing all links to HTTPS.
  • Content of the “FAQ” section updated.

4.4

  • On the plugin settings page, text of buttons are corrected.
  • On the plugin settings page, the information about the plugin version number moved to header section.
  • Some mention of constants replaced with variables for easier access.
  • Content of the “Usage” tab updated.
  • Content of the “FAQ” tab updated.
  • An SSL issue within the admin area fixed. The ‘src=”http://’ replaced with ‘src=”//’.
  • Added load of the jQuery library on the plugin settings page.

4.3

  • To the plugin settings page added information about the plugin version number.
  • The “Tested up to:” comment changed to 4.8 after full testing process.
  • The “version.php” file renamed to “versioning.php”.
  • The “versioning.php” file updated to new version.
  • The “_plugin_version_number” function renamed to the “_versioning”.
  • Content of the FAQ tab updated.
  • Values of the variables on the settings page are improved.

4.2

  • Compatibility with PHP version 5.2 improved.
  • PHP shorthands improved.
  • Added function for generating the plugin constants.
  • Some constants now get the value from the plugin header data.
  • The “_plugin_version_number” function improved.
  • Added file “upgrade.php” for future upgrades.

4.1.1

  • Fixed the bug due to which the “Warning: Constants may only evaluate to scalar values in” warning are displayed.

4.1

  • Added new constants: “_SLUG”, “_PREFIX”, “_SETTINGS” and “_NAME”.
  • Value of the “_VERSION” constant replaced with information from the plugin header data.
  • All references to the plugin name, slug, prefix are replaced with constants.
  • The “name” attribute removed from the “form” tag.
  • Code formatting improved.
  • F.A.Q. section updated.

4.0.1

  • Fixed the bug due to which the the “Warning: Illegal string offset ‘version’ in” and the “Warning: Illegal string offset ‘old_version’ in” warnings are displayed. (Thanks to Sven Brill)
  • Contents of the F.A.Q. tab updated.

4.0

  • The design of the plugin settings page is completely redone.
  • Added additional donate link to the “Plugins” page.
  • The ‘Using’ section renamed to ‘Usage’.
  • My Unicode signature added to the main file.
  • The donate button replaced with new.
  • The ‘Donate’ section renamed to ‘Support’.
  • The ‘donate.png’ image removed.
  • Options from the settings page moved to a separate file.
  • The “Usage” section removed from the sidebar area.
  • Additional “Support” section added.
  • Added tab navigation menu for the settings page.
  • Added additional tabs on the settings page.
  • Code of the ‘admin.css’ file improved and better commented.
  • A full version of the Bootstrap framework is integrated.
  • The ‘MCFunctions_load_scripts’ function renamed to ‘MCFunctions_load_scripts_admin’.
  • Added the CSS code for the custom list numbers on the plugin settings page.
  • The main font is changed to “Verdana”.
  • All PHP and HTML code is better formatted.
  • The header on the settings page of plugin is redesigned.
  • The “LICENSE.txt” file renamed to “license.txt”.
  • The “humans.txt” file added.
  • Messages from the plugin settings page moved to a separate file “messages.php”.
  • The “_service_info” setting added to the data-base.
  • Added function for managing information about the version number of the plugin.
  • Added the “Hello” message that show when the plugin is just installed.
  • Added the “Error” message that show when user is trying to degrade the version number of the plugin.
  • Fixed the parameter that contain the path to source files in all translation files.
  • The POT file updated.
  • Translations updated.

3.5

  • Added French translation. (Thanks Theophil Bethel)
  • Image of the donate button changed.

3.4.1

  • Translations updated.
  • Readme for translations updated.
  • Link of banner image updated.

3.4

3.3

  • User’s PHP code displayed on settings page are escaped for output by htmlentities() instead of esc_attr() for prevent converting characters to HTML entities.
  • Added global constant for plugin text-domain.
  • Russian translation improved.

3.2

  • Added option for easy disable the custom code for cases of WSOD.
  • Style sheet of settings page improved.
  • On the settings page added an advertisement about the PRO version of this plugin.
  • The Readme.txt file improved.
  • Added the Readme.txt file for translation contribution.

3.1

  • Added prefixes to the stylesheet and script names when using wp_enqueue_style() and wp_enqueue_script().
  • Added constant for storing the plugin version number.

3.0

  • The structure of files changed.
  • Style sheet of settings page improved and better commented.
  • JS code improved.
  • The “thanks.png” image removed.
  • POT file updated.
  • Russian translation updated.
  • Chinese (Taiwan) translation updated.

2.5.1

  • The update_option() returned into _duplicates function.

2.5

  • Added active-line add-on to CodeMirror.
  • Extra update_option() removed from the _duplicates function.
  • The _exec function optimized.
  • CSS class “slider” renamed to “trigger”.
  • Styles of settings page optimized for mobile devices.
  • The styles.css file better commented.
  • The _enqueue_codemirror_scripts function renamed to mcfunctions_load_scripts.

2.4

  • Added a toggle for temporary disable the custom functions.
  • Functions _prepare, _duplicates, and _exec optimized.

2.3

  • Added function to check for duplicate function names. Compares the names of all functions (internal, user). The _duplicates function added.
  • Added function of automatic remove the “successful” message after 3 seconds.
  • Removed the default message about successful saving.
  • The function of user code cleaning modified.
  • File js-functions.js renamed to functions.js.
  • Removed my personal ad about freelance.

2.2

  • Added Chinese (Taiwan) translation. (Thanks Gordon Yu)
  • Text domain changed to “my-custom-functions”.
  • Added compatibility with the translate.wordpress.org.

2.1

  • In the page.php, on the line 21, fixed typo.
  • Removed extra rules in style.css file.
  • All images are moved to the directory “images”.
  • Image “btn_donateCC_LG.gif” is now located in the “images” directory.

2.0

  • New design of settings page (new layout).
  • Constants variables added.
  • editor.js deleted.
  • js-functions.js (file with all js functions) created.
  • Prefixes changed to “MCFunctions”.
  • Text domain changed to “MCFunctions”.
  • Plugin URI changed to GitHub repository.
  • Added my personal ad about freelance.
  • .pot file updated.
  • Russian translation updated.

1.9

  • Authors URI changed.
  • Donate link changed.
  • Localization improved.
  • .pot file updated.
  • Russian translation updated.

1.8

  • The mode of CodeMirror editor changed from ‘application/x-httpd-php’ (HTML+PHP) to ‘text/x-php’ (PHP).
  • Placeholder of changed to “/* Enter Your Custom Functions Here */”.
  • Removed more unused do_action() from page.php file.

1.7

  • The stylesheet of plugin page moved to separate file.
  • The javascript from page.php moved to separate file.
  • Textdomain changed to “mcfunctions”.
  • Changed the style of title in plugin page.
  • The LICENSE file renamed to LICENSE.txt

1.6

  • Fixed the issue due to which nothing appears below line 26 until you click below that line.
  • Added “register_setting” for error option.
  • Corrected comments to source code.

1.5

  • CodeMirror scripts are combined and minified.

1.4

  • Fixed the issue due to which the alert message was appearing after installation.

1.3

  • .pot file included.
  • Minor fixes.

1.2

  • Added the syntax highlighting and line numbering.

1.1

  • Fixed positioning of the sidebar at the plugin settings page.

1.0

  • 最初のリリース。
  • Added the check for safety execution code.
  • Added ready for translation.

0.3

  • Release candidate.

0.2

  • Beta version.

0.1

  • Alfa version.