Book Image

WordPress Plugin Development: Beginner's Guide

Book Image

WordPress Plugin Development: Beginner's Guide

Overview of this book

If you can write WordPress plug-ins, you can make WordPress do just about anything. From making the site easier to administer, to adding the odd tweak or new feature, to completely changing the way your blog works, plug-ins are the method WordPress offers to customize and extend its functionality. This book will show you how to build all sorts of WordPress plug-ins: admin plug-ins, Widgets, plug-ins that alter your post output, present custom "views" of your blog, and more. WordPress Plug-in Development (Beginner's Guide) focuses on teaching you all aspects of modern WordPress development. The book uses real and published WordPress plug-ins and follows their creation from the idea to the finishing touches, in a series of carefully picked, easy-to-follow tutorials. You will discover how to use the WordPress API in all typical situations, from displaying output on the site in the beginning to turning WordPress into a CMS in the last chapter. In Chapters 2 to 7 you will develop six concrete plug-ins and conquer all aspects of WordPress development. Each new chapter and each new plug-in introduces different features of WordPress and how to put them to good use, allowing you to gradually advance your knowledge. This book is written as a guide to take your WordPress skills from the very beginning to the level where you are able to completely understand how WordPress works and how you can use it to your advantage.
Table of Contents (14 chapters)
WordPress Plugin Development
Credits
About the Author
About the Reviewer
Preface
Index

User roles and capabilities


Let's add some checks to our plugin to prevent unauthorized users from publishing posts and uploading files using our post templates.

This can be done using the WordPress capabilities system, providing us with functions to check if the user is allowed to perform a certain action.

Time for action Add user capability checks

  1. Let's add our first check, to see if the user can publish posts. All capability checks are performed using the current_user_can() function.

    if ($published)
    {
    check_admin_referer($page);
    $post_status = current_user_can('publish_posts') ? 'publish' : 'pending';
    
    }
    
  2. Change the Publish button in both the template files, link.php and photo.php, to show different text if the user can not publish:

    <div class="submitbox" id="submitpost">
    <div id="previewview"></div>
    <div class="inside"></div>
    <p class="submit"><input name="publish" type="submit" class="button button-highlighted" tabindex="4" value="<?php if...