Recommended method for quickly creating a dynamic programmable php-mysql blog? - php

I want to create a blog-like website. At the begining I'll need a simple one person blog software, but in the future I'd like to have full access to the code and database (control the way posts are organized, offer special forms for creating new posts, allow users to register, implement a rating system, etc.)
What's the best solution for this? Is there a specific tool that will generate a database and php files, to which I'll have access, or should I code everything from zip?
I know Wordpress and Joomla are good blogging tools, but couldn't figure out whether I'll be able to freely redesign a blog that was created using those tools.

Wordpress is an open-source, flexible website infrastructure that is pluggable; and also quite simple to setup without any code modifications. It will generate its own database files and is capable of upgrading itself with minimal administrative overhead.
If you choose at a later date to expand the blog, you can manipulate and customize the theme (100% of what the end-users see), as you see fit.
Wordpress also has a strong plugin repository that may provide extended functionality without any need to code. For example, a post rating plugin already exists that shouldn't require coding to implement;
http://wordpress.org/extend/plugins/rate-this-page-plugin/

Just install wordpress, you'll have full access to the code and database, and it supports writing plugins to extend functionality. You can change page layout with their template engine.

Writing a blog from scratch is not a simple job
Just use Wordpress for now.
There are plenty of plugins to customize Wordpress
You can later develop your own plugins or write a new weblog system and migrate to it.
I'll promise when getting familiar with Wordpress. you won't leave it anymore!

Related

How to build a bespoke website driven by Wordpress

My questions about Wordpress
From what I can gather, Wordpress is fast becoming the norm for building content managed websites. Up until now, I have used my own CMS systems to allow my clients to manage their sites content etc. However, I was recently asked to build a Wordpress driven website, and as the client insisted on using Wordpress, I subsequently lost the contract...
Resultantly, I am very keen to learn how to build and program a Wordpress site from scratch. I am not interested in templates provided when you install Wordpress on your server, I am only interested in building a fully bespoke website, with the ability to update the content using the Wordpress management engine.
I therefore have the following questions with regards to how Wordpress works (I am completely new to this).
Can I build a completely bespoke designed website and have Wordpress manage the content?
Are there any limitations to using Wordpress to manage the content?
Can I specify which content is editable?
Are there any 'from the ground up' tutorials on starting to build bespoke Wordpress driven websites?
Where can I find the documentation for the Wordpress API (if there is one)?
Do I install Wordpress in the same way that I would if I was using the built in template engine? In other words, do I still install Wordpress as a package in Plesk for the particular domain?
Does the code have to be in a specific format, or structure?
I effectively would like to find (or be pointed to) an article that clearly explains how Wordpress works and how advanced web developers can make the most of it.
I appreciate that this question is not really related to programming, if it needs to be moved then please advise as to where I can re-post it.
My Research
I appreciate that the answers to these questions will be located somewhere on the web, but thus far, I have been unable to find any really helpful tutorials on this specific topic.
I have read through pages such as the following, and whilst they were helpful, they do not really explain 'in brief' what Wordpress is and how it can be manipulated:
Where to start
Features and Functions
I below is my answer.
Can I build a completely bespoke designed website and have Wordpress manage the content?
Yes you can. Here you can find some sites that are built on wordpress. You can get an idea of what kind of stuff can be done.
http://designwoop.com/2011/12/best-wordpress-themes-of-the-year-2011/
http://www.tripwiremagazine.com/2012/07/wordpress-websites-examples.html
Are there any limitations to using Wordpress to manage the content?
According to my experience building wordpress websites, plugins and widgets, I would say you will rarely come across where you want to do something and you can't. If you know well enough php and understand OOP you can basically build whatever you want. In fact there are so many plugins that most of the time you could even get away with not writing anything (in your case this is irrelevant as you want to learn).
Can I specify which content is editable?
Yes. Other wise there is no point of using any CMS. I am sure this would be the most basic feature of any CMS out there.
Are there any 'from the ground up' tutorials on starting to build bespoke Wordpress driven websites?
Here are few tutorials you can start with.
nettuts
css-tricks
wptuts
And of course the best way to learn is the starter theme that comes as default with wordpress installation. You can find more themes here.
Where can I find the documentation for the Wordpress API (if there
is one)?
The wordpress documentation is quite detailed covers most of the things. While learning or even further this will be your best resource. I usually tend to read the code itself if I want to know how the function works and other details which of course documentation won't cover.
Do I install Wordpress in the same way that I would if I was using
the built in template engine? In other words, do I still install
Wordpress as a package in Plesk for the particular domain?
Installing wordpress is as simple as copying it to your server and accessing it via the browser. You will get on screen step by step instruction. It could not be easier than that. And if somehow you got stuck, there are hundreds of tutorial online or you can visit the wordpress codex site.
Does the code have to be in a specific format, or structure?
Of course you would be following the wordpress coding style (not necessary for but recommended for sake of being consistent). Depending on your skill level you will fairly pick up the standards.
If you are building plugins or widgets, which I assume if you want to build sophisticated websites, you must follow the coding standards.
By the sounds of it, you need to learn about writing a theme from scratch. A Wordpress theme gives you absolute control over the HTML that's outputted by the engine. You can therefore customise your site to look however you want it to look. My company website, tec20, was designed this way without any themes used from wordpress.com. Obviously the themes are aimed at writing blog sites, but you don't have to include any of the commenting hooks, for example.
These tutorials may help:
http://rockablethemes.com/wordpress-themes-tutorials/

How to go about allowing plugins for a custom framework?

First off, this isn't really a programming question but more of a programming concept question. Basically, I've built a bespoke PHP framework to speed up deployment on my end and I want some kind of plugin system in place that will allow me to add specific features to the base of the framework (like the SQL class or maybe a Twitter package) that will allow me to throw them into a folder and not have to actually edit the base for every new project.
Any ideas of the best way of going about this?
Here is a nicely written post by #ircmaxell on how to do that and what are the options:
Handling Plugins In PHP
Also check out:
Best way to allow plugins for a PHP application
what im doing in my cms:
for each plugin i make a folder latin-named of this plugin's name.
i create a /translations folder in there too. Check here.
have a single php file that has 2 basic functions, the plugin_install and plugin_uninstall (you know, things to happen on install/unistall like tables creation/drop)
create a special page of your system that reads these plugins, installed and not and give an on/off switch so users can install/unistall them.
load these single files mentioned above by a single call to include_once on top of your index page (or administration page) so to include whatever functionality they offer.
enabled plugins will be loaded (include_once) from your main page, and also their functionality, so each plugin can call each other's as well.

Can WordPress be used with extended PHP coding?

I almost feel dumb/ignorant for asking but I have never used Wordpress in my life. My primary skill of recent has been developing secure internet/intranet applications in PHP for healthcare companies. Every now and then I get asked to do some personal work for friends or coworkers but don't have the time or willingness to learn something new with my busy schedule.
Recently, I was approached to develop a site for a non-profit education group in which the group would need to update content on a regular basis. Simple CMS system should do the trick and while I've never used it, what if I built the site for them on Wordpress? It would give a few of the employees the ability add and update blog posts and keep new content fresh on the site. The site would also need to maintain a member 'log in' area with security being a top concern which I have no idea if Wordpress is capable of on its own. I have no problem building the latter in straight PHP but I am curious, is it possible to truly integrate the two?
I would like to build something like this site:
http://tf.dtbaker.com.au/template/child_care/index.html
but add in the security/member only area features they mentioned while keeping the ability for 'blogging'. I recently came across a few hosted CMS providers (such as Surreal CMS http://surrealcms.com/) as a method to manage the CMS aspects but if there are better solutions, I am all ears.
Note: Using WP solely as a subdomain for any blogging aspects is not an option.
Thank you ahead of time.
WordPress is extendable using PHP and their Plugin system. WP has a basic level of user authentication and permission level to handle site management and maintenance. There are plugins available which allow you to implement member only features. Google search for WordPress membership plugin shows up quite a few hits.
Regarding security of WordPress, we have 3 websites running on WordPress for the last 5 years. Security has improved since version 3.x of WP compared to the earlier versions. There are plugins that help from doing things like scan the system for security holes (wrong permissions on files etc.) as well as plugins that claim to make your site more secure. But the best security is really understanding the WordPress system, how it works, and ensuring that the plugins you install are properly tested and vetted before being installed in production.
HTH
It's hard to make a recommendation without knowing the specifics, but if the majority of the functionality of the site has nothing to do with blogging, you'll probably end up spending a lot of time writing plugins to modify the way Wordpress works, and then you'll have to potentially maintain those plugins as the API changes as new versions of Wordpress are released. Since you're dealing with health care companies and a need for security, not upgrading when a new version of Wordpress comes out could potentially be a security risk. You'll probably also find that Wordpress's "blog-centricness" will start to get in your way.
From what you've said in your question, my inclination would be to use a CMS to build the site if I were in your shoes.
That's not to say that you can't use custom themes and plugins to add CMS-like functionality to Wordpress and end up with some nice looking sites. The folks at WooThemes (http://www.woothemes.com/) are doing a darn good job at that from what I've seen, and there are other folks doing the same thing. I just wouldn't go that route if I were you.

PHP-based CMS that can use static files as pages and include a forum and blog?

I am currently working on a project documentation site for an OSS PHP project. Presently all of the docs are written in Markdown and stored as separate files.
I would really like to keep the core documentation as static files within the project so that they can be downloaded and used as well as read on my website. But on the website, I'd like to render those pages from within a CMS.
In addition to presenting the code docs, I also want to provide a forum for discussion and a blog.
Wordpress is what I have experience with, but is there a better system for what I am trying to accomplish specifically?
For Blog and CMS I would suggest stick with Wordpress since you already have experience on it. And as far as Forum is concerned I would suggest SimplePress forum. I have been using it on my Wordpress installation and found it really good. You can see live forum on the link above to see how it looks in real world.
Also Wordpress has several nice plugins like Download Manager that will give you ability to manage your downloads/files.
Can't confirm if wp is the best, but it's certainly good enough.
To include your docs, you'll have to write a plugin, not likely that you will find one existing that does exactly what you want.
For forum, you should find a plugin. Google for posts similar to this to choose a best match.
Firstly Wordpress isn't a framework.
I believe CakePHP has the functionality to load hardcoded pages when they're placed in the webroot folder of the app. I'm unsure as to how they're loaded in regards to routing/templating however.

integratable php blog API for existing site?

I'm inheriting a php project of a complete website. It's currently static; the owner just wants a blog on the front page to keep things fresh. Is there a mature PHP blog software out there that I can make a few calls to and have a blog up and running on their front page, without having to convert their entire existing site to a blog or CMS software?
That's one of the use cases for Serendipity. It has a configuration option specifically for that. So unlike Wordpress you don't need to hack it. It's not as featureful and a somewhat bloated package, but has a far better security track record.
http://www.s9y.org/123.html <- embedding howto

Categories