AW27 WordPress

Wordpress is the most used publishing system in the world, with more than 30% of sites on the internet is a Wordpress site.

This week, we’re going to work with self-hosted WordPress (WP), and for me, that’s a task that comes easily for me. I’ve been working with WordPress since 2006, and WordPress is also the CMS I use when I implement websites for clients. I’m not going to talk about all the benefits that exsits with WP, but I love it because it is flexible and extensible, and it is easy to write code for extensions.

A WP site is installed either on a local server (for example, if you need a development install) or on an external server – either your own or from a hosting company. For local installs, I used to use WAMP, but lately, I transferend to Locally, a WP install service from Flywheel. This one, you can also connect to some external hosting companies using internal FTP, but I usually do that with Filezilla.

For hosting I use several different hosting companties:, Uniweb, ProISP and Domeneshop. For clients, where I decide which hosting to select, I go with ProISP. Their servers are both fast and cheap, which is an excellent combination for websites.

It is easy to install WP on the server. You can either transfer all the files (more than 15000 of them) or the zip file using a FTP client. If you transfer the zip file, you have to unpack it by ssh before you can install it. Once the files are in place, you navigate to your domain and the install will begin. You need the credentials to MySQL and a few minutes later, you’re ready to go.

A clean WP install is not impressiv, although it can be used as is. You have pages and posts, menus and image libraries. If that’s not what you’re looking for, you can either install plugins to enhance functionality or a theme to change the look’n feel.

When I build websites with WP, I use a page builder, Elementor, to build the layout of the page. Elementor is a visual editor where I can drag’n drop widgets to the page or post. The widgets comes in all shapes and sizes, and if I cannot find one that covers what I need, I write my own in PHP.

Other plugins that are usually in my setup are:

  • Advanced Custom Fields Pro, that extends the content model of wordpress. For example, I can extend a post with extra fields such as lists, galleries, text fields etc. This can also be done programatically, but here Elliot in ACF has done the hard lifting for me. Much of this functionality can be replaced in JetEngine, but not ACF Flexible content which I use to make clients have more flexibility in the way they write their content
  • Dynamic Content of Elementor, that extens the way I retrieve data from the content model. can also handle dynamic visibility
  • Jet-package from Crocoblock. This includes JetEngine where I can create my own content types. For example, if I create a tourist website, I can make a content type called Experience. I can then enhance Experience with meta fields and taxonomies. Taxonomies can be used for filtering, with Jet Smartfilter
  • WP Rocket for caching
  • Yoast for SEO
  • Smush Pro for image compression
  • Happy Files for making the media library more user friendly
  • iThemes security, for changing the security level of the install

I manage several websites using a tool called ManageWP, where I can login to all WP installs I administrate with one click. I can also do upgrades and backup here.

I have several websites that are mine, either business related or personal:

  •, where I published the portfolio for last semester
  •, this site
  •, my business
  •, my business
  •, my business where I sell bunad related items
  •, where me and my friend describes hiking trips we do

All of them are WordPress sites. I first encountered WordPress in 2006, when WP was a blogging platform and only 2 years old. I worked as a student developer at the University of Bergen, and my task was to make the platform a multi-editor platform. WP did only support one user back then. Since then, WP has developed alot! And I have learned even more. However, I would like to be a better wordpress developer. WP uses hooks to hook into WP code, either an action hook, where you change functionality or filter hooks where you change output. I know how to write my own and to hook into WordPress core, but I haven’t understood how to hook into third-party plugins or theme functionality yet.

More to explorer

SBD 3 – Module 1- Basic html

HTML is a markup language that defines the structure of a html document, in which you often find online. The language comprises numerous tag that explains the semantics of an

AW39 Portfolio

This portfolio is a part of semester 2 of my graphic design course at Noroff School of Technology. It summarizes the work I have done for the last year. Last

AW33-AW38 Project Exam

In my project exam, I made a website for Ballongfisk Ceramics, yet another business of mine. All my life I have dreamt about being a ceramic artist, and now, I