Best code management and injection plugin for WordPress
Yes, CJT was on a long holiday break but is now back stronger than ever with some cool new features, issues and bugs fixed, compatibility with the latest WordPress, and more tools than a hardware shop. 🙂
- Inject CSS, JS, PHP and HTML code to: Pages, Posts, Custom Posts, Categories, Tags, Auxiliary (e.g. Everywhere, All Posts, Blog Index, etc), URLs, Regex, Inverted Assignments and more
- The editor was developed for writing code and will not strip tags
- Why create custom plugins? Just add scripts from the web such as CodeCanyon, JSFiddle or GitHub
- Easily create and test all of your scripts in one dashboard
- Add all your front-end mods without touching core Theme files
- Add back-end functionality without touching core WordPress files
- No need for FTP. Add your code, click Save, see the change
- Add your social, YouTube, Google analytics or advertising code
- Streamline your website development whether solo or in a team
- Teach yourself to code or teach others to code in the classroom
- And... probably a million other uses
Why purchase CJT PLUS?
Click to check out CJT PLUS pricing - MEGA SALE ON NOW!!!
The CJT PLUS extension plugin gives you more options, more tools, and more precision.
Benefits of PLUS
- Inject code via CJT Shortcodes, CJT Metabox code blocks, and CJT Widgets for your sidebar or footer
- Powerful editing environment with stacks of must-have editing tools like auto-formatting and syntax highlighting
- Beautify feature to tidy up your code like a Pro for readability
- Minify feature to compress code for boosting performance
- 32 light and dark editor themes to suits your editing style
- Full-width and Full-screen modes for distraction-free editing
- Code Auto Completion feature for auto-completion and insertion of CSS, JS, PHP, and HTML code syntax or snippets
- Revisions system to auto-backup your code blocks on each save
CJT PLUS has been extensively tested with over 100 code blocks and 1000's of Assignments (e.g. Posts, Pages, Categories, etc). It was all made possible using a combination of AJAX scrolling and pagination. Also, CJT PLUS gives you a quick pagination dropdown selector, which is super-handy if your site has hundreds or even thousands of posts.
New Feature - CJT Commenting
We have added START and END comments for each of the four main code block injection types: CJT Assignments, CJT Widgets, CJT Shortcodes, and CJT Metabox code blocks. You can now go into the Page Source and perform a search for these comments to quickly find your code block within the source code. This is a great CJT PLUS feature for debugging!
We want you to buy, try, and rely on the premium CJT PLUS extension plugin so we have made the pricing very low. Learn about the new and improved CJT PLUS.
How does it work?
CJT is extremely flexible and versatile. Since it was designed to be easy, adding scripts and styles can be done in as little as two steps: - adding your code directly into unique CJT code blocks - assigning where these code blocks go
CJT code blocks can be assigned to pages, posts, custom posts, categories, URLs, expressions, and practically anywhere you want on your website. Code block shortcodes can also provide you with further placement accuracy.
You can also support us by providing a feedback review and rating on WordPress.org, and spreading the word and recommending CJT to others.
Follow the Developments
If you like to know more about the development state, issues and to track future versions code please follow us on GitHub Plugin repository.
Why was the CJT plugin developed and what is it used for?
What is a CJT 'code block'?
The CJT code block is the basic unit for writing code and to associate it with specific WordPress requests.
What is the Assignment Panel?
The Assignment Panel is a tabs window, which appears on the right side of the code block editor and is used to assign/apply the code block into specific requests.
Can you select more than one item from the Assignment Panel?
Yes. You can select any number of items you need, there is no limitation regarding this.
Can you assign multiple blocks to the same items from the Assignment Panel?
Yes. It's one of the most useful features that CJT supports as it allows you to manage/split your codes into several code blocks, allowing you to override code in a former (or lower ordered) code block.
What is Pages, Posts, Categories and Custom Posts tabs?
These lists with checkboxes represent all of your WordPress Pages, Posts, Categories and Custom Posts that your entire website contains. It also supports subpages and sub-categories, which you will also find in there.
What is the Auxiliary tab?
As there are a number of requests that are not available as normal WordPress items (e.g. Pages, Posts, etc) but since it's commonly required and most likely be used, you will find them pre-defined in the Auxiliary tab. In the Auxiliary tab you can find pages like: Home, Blog Index, Author, 404 error, Tag, Archive, Entire website, Front-end, Admin backend and much more!
Is it better to use the URLs tab, or select items if found through other tabs?
Pages, Posts, Custom Posts and Categories tabs are created to simplify the assignment process for all types of users. Using URLs is great for fast performance as it requires less time to evaluate/identify the request! However, not all things can be done through the URLs tab. For example, applying a single block to a Category index page and all its sub-categories.
What is the Advanced Expressions tab?
The Advanced Expression tab allows you to fully control what requests to integrate into the code block by using Regular Expressions. In other words, allowing CJT users to define more requests to assign the code block to.
Can I move the blocks around?
Yes by hovering your mouse cursor over the code block title bar until it turns into a four-sided arrow, this allow you to move the blocks. Clicking the block title bar allows you to open and close the blocks.
Is block saved after I click 'Create' in 'Create New Code Block' form?
Yes. The block is created and saved in your database. In order to discard the block, you have to delete it.
Is block orders immediately saved after drag-and-drop block box?
No. In order to save blocks order you need to press 'Save All Changes' button.
Is block immediately deleted after removed from the blocks list page?
No. After delete block you need to click 'Save All Changes' button.
I'm using the URLs tab and my code is not working?
Make sure you have copied and pasted the Page, Post, or Category URL exactly as it appears in the address bar. For example, you may have inadvertently included an extra forward slash at the end of your URL.
Why use the Footer switch in Location/Hook?
Hook location feature gives you control over the location of outputting the CSS/JS code. This is useful in case overriding another plugins' CSS is required. Also sometimes its better to put your JS code in the footer to avoid slowing down your page load.
I received a weird error, what do I do now?
Due to the overwhelming amount of emails we get for users requesting support for our CJT plugins, we cannot provide support for the CJT Free plugin (hosted here on WordPress.org) at this stage unfortunately. If you wish to receive priority support, please visit our CJT website and purchase a license for any of our products.
- Enhancement: START and END comments for CJT Assignments, CJT Shortcodes, and CJT Metabox code blocks. You can now go into the Page Source and perform a search for these comments to quickly find your code block within the source code.
- Removed: Admin notice “CJT plugin is no longer supported"
- Added: Admin notice “CJT plugin is no longer supported"
- Fix: Development log files created at production
- Added: “CJT Plugin will not work” admin notice displayed when PHP version < 5.3
- Enhancement: Dashboard statistics Metabox display more fields
- Fix: WordPress Plugin compatibility for commonly detected conflicts
- Fix: SQL errors commonly appears in Error log file
- Fix: Dashboard statistics Metabox exception when CJT server is not reachable
- Fix: Dashboard statistics Metabox blocks count include backups block
- Updated: ACE Editor updated to the last version
- Added: Display notice during installation steps on network-level errors. Resolves endless spinner issue
- Compatibility: 100% compatible with BulletProof Security (BPS) security plugin. No need for any bypass rules
- Compatibility: Fully tested with WordPress 4.3.1
- Enhancement: CJT core upgrades and enhancements
- Compatibility: Fully tested with WordPress 4.3
- Added: List of future deprecated features
- Added: Support us link on Dashboard Metabox
- Added: Support us link on CJT Header
- Removed: CJT License Setup form. CJT is now 100% Free
- Fix: Multi-site CJT Network extensions not loading
- Fix: Fresh installer stopping when “Adding WordPress built-in scripts and styles as CJT Templates”
- Added: Dashboard Metabox notices when CJT is not yet installed
- Added: Show premium extensions list in Dashboard Widget instead of Scripts Packages
- Enhancement: Framework update to make CJT functionality more extendable
- Removed: Code Editor Toolbar buttons and code block ‘File', ‘Edit’ and ‘View’ menu are moved to separate extensions
- Removed: Editor Themes switcher list are moved to separate extension
- Removed: Import and Export Tools are moved to separate extension
- Fix: Conflict with other popular themes like X Theme
- Fix: Block Code file name moving away when open/close Block metabox
- Fix: Shortcode list is too small for Shortcode names
- Updated: CJT Framework for packages and extensions updates
- Added: Show Latest News on Dashboard Widget
- Added: Add Statistics Dashboard Widget that shows few useful fields.
- Performance: Processing and Memory optimisation for better performance.
- Enhancement: Block Box Themes Support.
- Enhancement: 32 Themes is now supported to be applied for the whole block box.
- Enhancement: Applying theme per browser. Allow for assigning appropriate theme for different devices.
- Enhancement: Assigned/All mode switchers for assignment panel list. You can show all items even not selected ones or show only assigned to the block.
- Enhancement: Bullet-Proof Assignment Panel layout so it would always reserved even if another Plugin wrongly load jQuery TABS/ACCORDION Styles.
- UI & Graphics: General UI enhancements.
- Updated: Code editor updates.
- Enhancement: Turns CJT Block into a tiny Project that host Multiple "Managed" Code-Files instead of just one.
- Enhancement: No need to create a Block for each Language Type and assign them to the same WordPress Page. One Block with Multiple Code Files solved that by creating only one Block for each assigned request.
- Enhancement: Code Files Support Language Type, Code, Description and TAG fields.
- Enhancement: Write Design-Time Organised Code by separating them into code-files (JS, CSS, PHP, HTML) and CJT will merge them all at run-time.
- Enhancement: Control/Modify auto-added , or TAGS by modifying Code File TAG field.
- Enhancement: Automatically Change Code Editor language to currently active Code File language.
- Enhancement: Manage Code Files without leaving the Block Page.
- Enhancement: Block revision is now created based on the Current Active Code File. Therefore each Code File has its own revision
- Enhancement: Its now possible for multiple Authors to work on the same Block by creating Multiple Code-Files.
- Enhancement: Add Multiple Code Files to CJT Packages.
- Feature: Block File, Edit and View Menus.
- Feature: 'Load Local', 'Load Url' and 'Reload' to load Block Code from Local File, Url and Reload From Server respectively.
- Feature: Save/Download Block Current Active Code File.
- Feature: Undo, Redo, Find, Find Next, Find Previous, Replace, Goto Line, Goto Line Up, GoTo Line Down, GoTo Next Error, GoTo Previous Error, Fold, Fold All, UnFold, UnFold All, To Lower Case and To Upper Case Edit Menu functions added.
- Feature: 'Settings' Edit Menu item for Fully Customize Code Editor Fonts, Show/Hide Print Margine, Keybinding Methods, Show/Hide Scroll, Scroll Speed, Readonly, Show/Hide Gutter, TAB Size, New Line Mode and much more!
- Enhancement: Show/Hide StatusBar via View StatusBar Menu.
- Enhancement: CJT Website is now support Full documentation Tutorials that expose many internal features/possibilities that can be achived by CJT.
- Enhancement: Code Blocks disappeared after upgrading to WordPress 3.9 and sever running PHP >= 5.5.
- Enhancement: Packages Management System (BETA)
- Enhancement: Define Shortcode Parameters by creating package and input their values from the CJT Shortcode Parameters form.
- Enhancement: Editor enhancements and updates.
- Enhancement: Framework updates (Allow installing New CAC extension).
- Fix: Safari Browser pagination icon position.
- Fix: Assignment Panel Pagination Icon position fixed for Safari browsers.
- Remove: New Block Form Activate, Location Hook and Initial position fields.
- Remove: Block Revisions.
- Remove: Blocks Backup and Restore.
- Remove: Assignment Panel Select-Childs Checkboxes.
- Remove: Minimize and Mazimize All.
- Remove: Batch Process (Delete All and Delete Empty).
- Remove: Output Location Switch (Header and Footer).
- Remove: State Switch (Activate, Deactivate and Invert).
- Remove: Shortcode TinyMCE button (Community users has to write Shortcode manually).
- Remove: Don't load more assignment objects by scroll (Community users has to use the pagination list).
- UI & Graphics: UI Compatibility with WordPress >= 3.8.
- Deprecated: New Block Form Activate, Location Hook and Initial position fields.
- Deprecated: Block Revisions.
- Deprecated: Blocks Backup and Restore.
- Deprecated: Assignment Panel Select-Childs Checkboxes.
- Deprecated: Minimise and Maximise All.
- Deprecated: Batch Process (Delete All and Delete Empty).
- Deprecated: Output Location Switch (Header and Footer).
- Deprecated: State Switch (Activate, Deactivate and Invert).
- Deprecated: Shortcode TinyMCE button (Community users has to write Shortcode manually).
- Deprecated: Don't load more assignment objects by scroll (Community users has to use the pagination list).
- Fix: Break WordPress frontend page pagination by issuing 301 redirect.
- Fix: Validate block name when editing and adding blocks.
- Fix: Code Blocks is not being applied on WPEngine servers and other servers related to the MYSQL query error.
- Fix: Load block code one time after its first time opened as it was loaded every time the block is opened.
- Enhancement: Show User-PHP code errors only when WP_DEBUG is set to TRUE.
- Enhancement: Auto-Size edit-block-name text field to fit the current block-name, therefor display the name without the need of moving the cursor to the end.
- Enhancement: Disable new-block form fields while saving prevent user from duplicating block when traffic is slow.
- Enhancement: Initially don't load Block assignment panel items: Speed up Blocks page loading time when its initially opened, also affect the browser performance as the items is not loaded or rendered before its required.
- Enhancement: Initially don't load Block code for the closed/minimised Blocks: Loading those Blocks will be done through AJAX once the Block is opened by user.
- Enhancement: The ability to 'Cancel' revision mode and get back to the normal mode without refreshing the whole page.
- Update: Animate Block 'Save' button for not-saved Blocks.
- Update: The Assignment-Panel is now Loads the assigned items only when enter the revision and backup modes.
- Update: Set assignment-Panel Advanced-TAB as the default active TAB.
- Add: Few helper links to the CJT official website at the top of the Blocks page.
- Fix: Block 'Save' and 'Save All Changes' buttons are stay enabled after updating Block Assignment-Panel items and revert them back again. The buttons is enabled even if the Block content has not been changed.
- Enhancement: Uninstaller is now configurable so that admin can specify is to wipeout the data or not! This is really great for manual upgrade to the PE versions!
- Enhancement: Accept Shortcode parameters and segments. Provide PHP framework for code blocks to define, validate and reading Shortcode parameters.
- Enhancement: Allow using block 'name' in additional to 'id' when using Shortcodes.
- Fix: Failed to work with non-ascii (e.g Arabic) characters.
- Enhancement: Viewing block info is now showing Shortcode using block 'name' instead of 'id'.
- Enhancement: Embedded Shortcode with its closing tag as the Shortcode content is now being used by the handler blocks.
- Enhancement: Revert block Shortcode 'force' parameter default value to 'true' therefore allow using multiple Shortcode for the same block without setting 'force' attribute.
- Fix: CJT hijacks Plugins page after activate or deactivate a Plugin.
- Fix: PHP code is not getting evaluated when CJT code Block delegated using Shortcode.
- Fix: Add ACE Editor PHP Worker as it was missing.
- Enhancement: List only Public Custom Posts that can be accessed through WordPress URL under Assignment Panel Custom Posts Tab. Therefor enhance performance for sites that has 'Log' custom post that might has hundreds or records read for every code block.
- Enhancement: Suppress PHP errors displayed under STRICT PHP configuration like PHP >= 5.4.x and therefor boost performance, increase result and security reliability!
- Fix: Installer operations state is cleared after the install/upgrade is interrupted, cause the repeats/re-executes of the install/upgrade operations.
- Fix: text-area HTML tag break down CJT Block code.
- Fix: Conflict with other Plugins!
- Enhancement: Disallow (with user notice) upgrade/downgrade if the target version is not being supported, therefore saving user data!
- Enhancement: Don't break down the site if manual upgrade/downgrade process is uncompleted! Allow user to revert back manually or disable the Plugin.
- Enhancement: E_ALL complain! Suppress all notices when WP_DEBUG set to true, allow better development, fast performance and error handling.
- Enhancement: Core code is 100% re-written for optimum performance and future enhancements, and is 100% based on MVC (Model–view–controller) design.
- Enhancement: 100% Using Web 2.0
- Enhancement: Applying code blocks to the requests are now enhanced to boost performance.
- Feature: The ability of interacting with admin pages too - not only the website side as in the previous versions.
- UI & Graphics: Light-weight and smart user-interface.
- Enhancement: Multiple operations can be executed at a time! For example, you can work on a code block while another block(s) is saving.
- Enhancement: Code block data is automatically revisioned after saving.
- Enhancement: Hot Key added for saving code block.
- Fix: Empty code blocks can now exist.
- Enhancement: Interaction with each code block from a simple smart graphical Toolbox using Web 2.0
- Feature: Delegate code block using Shortcodes. You can do that manually or through CJT smart TinyMCE dropdown list button.
- Feature: Integrate ACE Editor to provide syntax highlighting and correction while writing codes!
- Enhancement: Entire plugin is now extensible! CJT supports installed extensions to extend or enhance its features.
- Feature: Batch operations (Toggling On and Off, Activate, Deactivate and Revert states, Delete empty and Delete all) toolbox allow for batch update of all code blocks.
- Enhancement: Rename and save code block name.
- Enhancement: You can now save multiple backups.
- Feature: Activate and Deactivate code blocks feature.
- Fix: blocks order was correctly displayed from the admin side, but had no effect while applying blocks to the website side.
- Enhancement: Templates system is totally removed and will be presented with many enhancements via a separate extension.
- Feature: Allow assigning code blocks to Posts and Custom Posts.
- Feature: Apply 'Category' block to all the child posts (or sub-posts) within that category.
- Feature: Assignment Panel smart feature to assist while working with hierarchical items (sub-pages, sub-categories, etc).
- Enhancement: Auxiliary tab has been added to the Assignment Panel in order to organise all the predefined items (or requests) under a single tab.
- Enhancement: Moved and added: 'Front Page', 'All Pages' and 'All Posts' predefined items to appear under the Auxiliary tab.
- Feature: Auxiliary Assignments. Blog Index, All Categories, Recent Posts, Entire Website, Website Backend, Search Pages, All Archives, Tag Archives, Author Archives, Attachment Pages and 404 Error
- Feature: Support of regular expressions for defining code block Point-To-Hook
- Security: Only administrators can execute CJT backend operations.
- Feature: Each block now has an Information metabox (Author, created date, modification date, and Shortcode).
- Enhancement: Create New Code Block dialog with initial properties ‘Name’, ‘State’ and ‘Position'
- Fix: Internal error detection routine for detecting AJAX errors that may have occurred away from users view
- Added: CJT User Manual PDF file added to the /docs folder. Also available on the CJT website here: CJT Free User Manual BROKEN LINK
- Added: New WordPress Dashboard menu item to embrace all CJT plugin pages
- Enhancement: Added separate installer and upgrade pages for both CJT v0.3 and v0.8 to allow watching of the installation processes
- Enhancement: Added an uninstaller to completely erase all CJT data from the system
- Compatibility: 100% tested and working with BulletProof Security (BPS) plugin after applying simple Ajax bypass rule
- Enhancement: Template code can be modified
- Feature: Code block Header and Footer feature so you can select which hook to output CSS/JS code
- Enhancement: Code blocks can be re-ordered via click-n-drag
- Enhancement: Code blocks can be given names, which can be edited and saved
- UI & Graphics: New icons and improved user interface
- Enhancement: Multilingual support. Only English translation is shipped with this version
- Enhancement: Style overriding. Any higher-ordered/positioned code blocks style syntax will override lower-ordered/positioned code blocks style syntax
- Feature: Built-in scripts bundled with WordPress can be used simply by checking them
- Feature: Backup and Restore code blocks data
- Fix: New code blocks are not toggling unless the page is refreshed
- Fix: CSS/JS template ‘extra slash character’ issue
- Fix: Code block deletion issues
- Fix: Code is not applied to the URL list except the last URL
- Fix: Cannot use string offset as array error
- Fix: Invalid argument supplied foreach() error
- If you're upgrading from older versions its highly recommended to backup your database before upgrading.
- Activate the plugin through the 'Plugins' menu in WordPress
Add your code, then assign where it goes
Create New Code Block dialog box
Master Admin Toolbar at top, and minimised Code Blocks below
Change editor language for syntax highlighting and error checking
Assigning WordPress Pages and sub-pages
Assigning WordPress Posts
Assigning Custom Posts
Assigning Categories and sub-categories
Advanced Assignments (URLs and Regular Expressions)
Change State batch tools (CJT PLUS ONLY)
Change Location/Hook batch tools (CJT PLUS ONLY)
Delete and Backup Tools
Code-Files management within each Code Block (CJT PLUS ONLY)
Templates Manager form to store all of your Code Templates
Templates Lookup form to embed or link Code Templates to Code Blocks
Insert Code Block shortcodes via TinyMCE button (CJT PLUS ONLY)
Metabox Code Block at the Edit Page/Post level
Create backups of all your existing Code Blocks
Create/Restore Code Block revisions (CJT PLUS ONLY)
See Code Block information at a glance (CJT PLUS ONLY)