Plugins

Extends Functionality for WordPress

What is a plugin

In WordPress, a plugin is a piece of software that can be added to your WordPress website to extend its functionality or add new features. Plugins are written in the PHP programming language and integrate seamlessly with WordPress. They allow users to customize their websites without having to modify the core code of WordPress itself.

Plugins can perform a wide range of tasks, from simple functions like adding a contact form or social media sharing buttons to more complex functionalities like e-commerce solutions, SEO optimization, security enhancements, and much more. There are thousands of plugins available in the official WordPress Plugin Directory, covering almost every conceivable need for website owners.

WordPress plugins typically come in the form of zip files containing PHP files, CSS stylesheets, JavaScript files, images, and other assets. Once installed, plugins can be activated and configured through the WordPress dashboard, providing users with a convenient way to enhance their websites without extensive coding knowledge.

Wordpress-Plugins
Wordpress-Plugins

How to install a plugin

  1. Using the WordPress Plugin Directory:
    • Navigate to your WordPress admin dashboard.
    • Go to the “Plugins” menu and select “Add New.”
    • Use the search bar to find the plugin you want to install.
    • Click on the “Install Now” button next to the plugin you want.
    • After installation, click on the “Activate” button to activate the plugin.
  2. Upload a Plugin Zip File:
    • Download the plugin zip file from a reputable source.
    • Navigate to your WordPress admin dashboard.
    • Go to the “Plugins” menu and select “Add New.”
    • Click on the “Upload Plugin” button at the top of the page.
    • Choose the plugin zip file from your computer and click “Install Now.”
    • After installation, click on the “Activate” button to activate the plugin.
  3. Install a Plugin via FTP:
    • Download the plugin zip file from a reputable source and extract it.
    • Connect to your website using an FTP client.
    • Navigate to the /wp-content/plugins/ directory.
    • Upload the extracted plugin folder to this directory.
    • Once the upload is complete, go to the WordPress admin dashboard.
    • Go to the “Plugins” menu, where you should see the newly uploaded plugin.
    • Click on the “Activate” link to activate the plugin.
  4. Install a Plugin from a URL:
    • Download the plugin zip file from a reputable source.
    • Navigate to your WordPress admin dashboard.
    • Go to the “Plugins” menu and select “Add New.”
    • Click on the “Upload Plugin” button at the top of the page.
    • Instead of choosing a file from your computer, enter the URL where the plugin zip file is hosted.
    • Click “Install Now” to install the plugin.
    • After installation, click on the “Activate” button to activate the plugin.

Termomonlogy and Concept

  1. Plugin: A piece of software that extends the functionality of a WordPress website.
  2. Activation: The process of enabling a plugin on your WordPress site after it has been installed.
  3. Deactivation: The process of disabling a plugin on your WordPress site. Deactivating a plugin stops it from running, but the plugin files remain on the server.
  4. Uninstall: The process of completely removing a plugin from your WordPress site, including its files and settings.
  5. Plugin Repository: The official directory where WordPress plugins are hosted. It can be accessed from within the WordPress admin dashboard.
  6. Plugin Editor: A feature in the WordPress admin dashboard that allows you to view and edit the code of installed plugins. Exercise caution when using this feature, as editing plugin code directly can break functionality or compromise security.
  7. Hooks: Functions that allow developers to modify or extend the behavior of WordPress core, themes, and plugins. Hooks include action hooks and filter hooks.
  8. Action Hook: A type of hook that allows developers to execute custom code at specific points in the WordPress execution process, such as when a post is published or when a plugin is activated.
  9. Filter Hook: A type of hook that allows developers to modify data before it is displayed or saved, such as modifying the content of a post or changing the title of a page.
  10. Shortcode: A special tag that allows you to embed dynamic content, such as forms or galleries, into posts, pages, or widgets using a simple shortcode syntax.
  11. Widget: A block of content that can be added to widget areas, such as sidebars or footers, to display various types of information or functionality.
  12. Settings Page: A section of the WordPress admin dashboard where plugin settings can be configured and adjusted to customize the behavior of the plugin.
  13. Dashboard Widget: A small box of information displayed on the WordPress admin dashboard that provides quick access to important data or functionality related to a plugin.

Popular plugins

NAME MANUFACTURER DESCRIPTION
Advanced Custom Fields
Advanced Custom Fields PRO
WP Engine Lets you create Custom Post Types and Custom Fields
All-in-One WP Migration ServMask A WordPress plugin that facilitates the migration of entire websites, including files, database, plugins, and themes, to new hosts or domains with ease.
Classic Editor Wordpress Support Team Restores the previous ("classic") WordPress editor interface
Classic Widgets Wordpress Support Team Traditional editing experience in WordPress (sucessor before Gutenberg)
Contact Form 7 Takayuki A widely-used WordPress plugin for creating and managing customizable contact forms on websites
Flamingo Takayuki Miyoshi A WordPress plugin designed to store and manage contact form submissions created with the Contact Form 7 plugin, allowing users to view, search, and export submitted messages directly within the WordPress dashboard.
Gravity Forms Gravity Forms A powerful WordPress plugin that enables the creation of complex and customizable forms for various purposes, including contact forms, surveys, quizzes, and more, with features for conditional logic, file uploads, and integration with third-party services.
JSON Basic Authentication WordPress API Team A WordPress plugin that allows API requests to be made with basic authentication using JSON Web Tokens (JWT), enhancing security for API endpoints.
MailChimp Mailchimp A popular email marketing service that offers tools for designing, sending, and analyzing email campaigns, with a WordPress plugin available for seamless integration with WordPress websites.
ManageWP - Worker GoDaddy A WordPress plugin that connects websites to the ManageWP dashboard, enabling users to manage multiple WordPress sites from a single dashboard, with features for updates, backups, security, and performance optimization.
Object Cache Pro Rhubarb Group A premium WordPress plugin that enhances website performance by implementing object caching, improving the speed and efficiency of dynamic content retrieval(Redis)
Permalink Manager Pro Maciej Bis A premium WordPress plugin that enables advanced customization and management of permalinks, allowing users to create SEO-friendly URLs and customize URL structures for posts, pages, categories, and more
Polylang Pro WP SYNTEX A premium WordPress plugin that extends the functionality of the Polylang plugin, allowing users to create multilingual websites with ease by providing advanced features such as language switcher customization, automatic translation, and multilingual SEO optimization.
Store Toolkit for WooCommerce Visser Labs Exta meta for product, create a tab "Product Post Meta"
Safe SVG 10up A WordPress plugin that enhances security by allowing users to upload SVG files to their websites safely, by sanitizing and validating SVG uploads to prevent potential security risks associated with SVG files.
Redis Object Cache Till Krüss A WordPress plugin that implements object caching using Redis, a high-performance in-memory data store, to improve website speed and scalability by caching database queries and other objects, reducing server load and improving response times. Cache läösning som sitter mellan databas och WP, enbart för att optimer DB.
Relevanssi Mikko Saari A WordPress plugin that enhances the default search functionality by providing advanced search features, including partial matching, sorting results by relevance, and highlighting search terms, to improve the overall search experience on WordPress websites.
WooCommerce Order Test - WP Fix It WP Fix It A WordPress plugin developed by WP Fix It that provides a testing environment specifically tailored for WooCommerce orders. Enables basic test orders!
WP All Import Pro Soflyy A premium WordPress plugin that facilitates the seamless import of large volumes of data into WordPress sites from various sources, including CSV, XML, Excel, and more, offering advanced features for data manipulation and customization during the import process.
WooCommerce Automattic A powerful WordPress plugin that enables the creation and management of e-commerce stores, providing features for product listings, payments, shipping, and more.
WP All Export Pro Soflyy WP All Export Pro: A premium WordPress plugin that allows users to easily export data from their WordPress website, including posts, pages, custom post types, and custom fields, in various formats such as CSV, Excel, XML, and JSON.
WPBakery Page Builder (js_composer) Michael M - WPBakery.com A popular drag-and-drop page builder plugin for WordPress, allowing users to create custom layouts and designs for their websites without needing to write code.
WP Crontrol John Blackbourn & crontributors A WordPress plugin that provides a user interface for viewing and managing the WordPress cron system, allowing users to add, edit, and delete cron jobs directly from the WordPress dashboard.
WP Rocket WP Media A premium WordPress caching plugin that optimizes website performance by caching pages, minimizing CSS and JavaScript files, enabling lazy loading, and implementing other speed-enhancing techniques, improving website loading times and user experience. Generell cache lösning för allt. T.ex javascript, html, css, cdn osv.
Yoast SEO Team Yoast A comprehensive WordPress plugin that assists in optimizing websites for search engines by providing tools for content analysis, meta tag management, XML sitemap generation, and more.

.gitignore

Example content - start template

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of ‘npm pack’
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

src/settings.json

.DS_Store

Commands

Some commonly used git commands
DESCRIPTION COMMAND
Initialize git
Set up necessary data structures and files,
creating a hidden subfolder (.git)
git init
Initializes a new Git repository
specifically in a directory called "demo-one."
This means that Git will set up its version control system
in the "demo-one" folder
git init demo-one
initializes a new Git repository with the name "demo-one"
and sets the default branch to "main."
git init -b main demo-one
Displays information about the current state of your Git repository git status
Add all changes in the working directory to the staging area. git add .
Stage all changes, including new, modified, and deleted files git add -A
Commit all changes with a commit message. git commit -a -m "Commit message"
List all local branches in the repository git branch
Create a new branch named branch_name. git branch branch_name
Delete a specific branch (branch_name) after its changes have been merged. git branch -d branch_name
Rename the current branch to new_branch_name. git branch -m new_branch_name
List all local and remote branches. git branch -a
List all remote branches git branch -r
Create a new branch (new_branch) based on the current branch git branch -c new_branch
List all remote repositories associated with the current repository. git remote
Display more detailed information about the remote repositories, including their URLs. git remote -v
Add a new remote repository with the name "origin" and the specified URL git remote add origin
Remove the remote repository named "origin." git remote rm origin
Change Remote Push URL
( git remote set-url --push origin https://github.com/ripper079/referenceJS.git )
( git remote set-url --push originl origin git@github.com:ripper079/referenceJS.git )
git remote set-url --push "remotename" "new_fetch_pull_url"
Change Remote Fetch/Pull URL
(git remote set-url origin https://github.com/ripper079/referenceJS.git )
( git remote set-url origin git@github.com:ripper079/referenceJS.gi t)
git remote set-url "remotename" "new_fetch_pull_url"
Rename a remote repository from old_name to new_name git remote rename old_name new_name
Display information about a specific remote repository named "origin." git remote show origin
Fetch the latest changes from all remote repositories git remote update
Change the URL of the remote repository named "origin." git remote set-url origin
Display help information about the git remote command. git remote -h
CONFIG
This Git command sets the default branch name
for newly initialized repositories on your system.
In this case, it configures Git to use "main" as the default branch name.
git config --global init.defaultBranch main
Display the current configuration settings for the repository. git config --list
Set the user name for your commits in the repository. git config user.name "Your Name"
Set the email address associated with your commits. git config user.email "your.email@example.com"
Set the global user name for all Git repositories on your system. git config --global user.name "Your Name"
Set the global email address for all Git repositories on your system. git config --global user.email "your.email@example.com"
Remove the user name configuration for the repository. git config --unset user.name
Remove the global user email configuration. git config --unset --global user.email
Set the default text editor for Git commit messages. git config core.editor "editor"
Set the default text editor for Git commit messages. git config core.editor "editor"
Enable colored output in the Git command-line interface. git config color.ui auto
Get the URL of the remote repository named "origin." git config --get remote.origin.url

.gitignore

Example content - start template

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of ‘npm pack’
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

src/settings.json

.DS_Store