centrid/wpoow
Composer 安装命令:
composer require centrid/wpoow
包简介
WordPress Object Oriented Wrapper
README 文档
README
An OOP Wordpress wrapper for rapid development
If you have had to create a custom theme/plugin in WordPress (which requires quite a bit of configuration), you know this can be quite cumbersome. This wrapper aims to simplify this process by providing an object-oriented library which abstracts most of the tasks associated with this. Below is a simple example showing you how you can easily create a Custom PostType using this wrapper.
//functions.php include 'wpAPI/wpAPI.php'; $WPooW = new wpAPI(); $bookReviewPostType = $WPooW->CreatePostType("_bookReview", "Book Review", true); $bookReviewPostType->AddField(new Text("_bookTitle", "Book Title")); $bookReviewPostType->AddField(new Text("_bookAuthor", "Book Author")); $bookReviewPostType->AddField(new Uploader("_bookImage", "Book Image")); $bookReviewPostType->AddField(new MultiSelect("_bookCategories", "Categories", ["Philosophy" => "Philosophy", "Auto-Biography" => "Auto-Biography", "Fiction" => "Fiction"])); $bookReviewPostType->AddField(new RichTextArea("_mySummary", "My Summary")); $bookReviewPostType->AddField(new Text("_myRating", "My Rating")); $bookReviewPostType->Render();
This will create a custom page (available via wp-admin). See below:-
Fig1: Grid Layout of new custom type
Fig2: Adding new custom type
To access the data added through the custom PostType, you can use a traditional WordPress query (WP_QUERY ) by referencing your declared PostType id (in the case above, it will be _bookReview). WPooW however, provides a wrapper class which makes it easier to access this data. An example of how you would fetch this data using the WPooW library is below:-
<style>
.book_block{
display: inline-block;
}
.book_img{
float: left;
width: 50%;
}
.book_img img{
height: 200px;
width: auto;
}
.book_details {
float: right;
width: 45%;
padding-left: 2%;
}
.book_details p {
font-size: 14px;
margin-bottom: 2px;
margin-top: 2px;
color: white;
}
</style>
<div class="wrap">
<?php
$bookReviews = wpAPIObjects::GetInstance()->GetObject("_bookReview");
foreach ($bookReviews->Query()->Select()->Fetch() as $book)
{
echo '<div class="book_block">';
echo ' <div class="book_img">';
echo ' <img src="'.json_decode( $book["_bookImage"])->url.'" alt="'.$book["_bookTitle"].'" >';
echo ' </div>';
echo ' <div class="book_details">';
echo " <p>".$book["_bookTitle"]."</p>";
echo " <p>".$book["_bookAuthor"]."</p>";
echo " <p>". (is_array($book["_bookCategories"]) ? implode(',', $book["_bookCategories"]) : '')."</p>";
echo " <p>".$book["_myRating"]."</p>";
echo ' </div>';
echo '</div>';
}
?>
</div>Result
Modifying the WordPress TwentySeventeen theme template our web page could look like:-
Documentation
The WPooW library is fully documented at http://wpoow.devchid.com. If you think of anything else that should be documented that's not there, please do give a shout.
Contributing
WPooW is an opensource project and contributions are valued.
If you are contributing a bug fix, please create a pull request with the following details
- The problem/bug you are addressing
- The version of WPooW the fix is for
- How you tested the fix
If it's a new feature, please add it as a issue with the label enhancement, detailing the new feature and why you think it's needed. Will discuss it there and once it's agreed upon you can create a pull request with the details highlighted above.
Authors
- Chido Warambwa - Initial Work - devchid.com
License
This project is licensed under the MIT License - see the LICENSE file for details
Notes
This library is designed to be used by developers for creating WordPress themes and plugins. It is not a plugin or a theme in and off itself.
centrid/wpoow 适用场景与选型建议
centrid/wpoow 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 414 次下载、GitHub Stars 达 4, 最近一次更新时间为 2023 年 01 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wordpress」 「Object Oriented Programming」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 centrid/wpoow 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 centrid/wpoow 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 centrid/wpoow 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A set of useful PHP classes.
Runn Me! Value Objects Library
An object oriented access control system.
Laravel SDK mapping data in object
Bootstraps errors and handles them via reporters and renderers
Build a domain-oriented application on Laravel Framework
统计信息
- 总下载量: 414
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0
- 更新时间: 2023-01-13