PHP code example of mallardduck / wp-eloquent-models
1. Go to this page and download the library: Download mallardduck/wp-eloquent-models library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use \WPEloquent\Model\Post;
// getting a post
$post = Post::find(1);
// available relationships
$post->author;
$post->comments;
$post->terms;
$post->tags;
$post->categories;
$post->meta;
Post::published()->get();
Post::status('draft')->get();
Post::type('page')->get();
use \WPEloquent\Model\Comment;
// getting a comment
$comment = Comment::find(12345);
// available relationships
$comment->post;
$comment->author;
$comment->meta
$post->terms()->where('taxonomy', 'country');
use \WPEloquent\Model\User;
// getting a comment
$user = User::find(123);
// available relationships
$user->posts;
$user->meta;
$user->comments
$post = Post::find(1);
$post->setMeta('featured_image', 'my-image.jpg');
$post->setMeta('breakfast', ['waffles' => 'blueberry', 'pancakes' => 'banana']);
// or all in one call
$featured_image = Post::find(1)->getMeta('featured_image');
Post::find(1)->setMeta('featured_image', 'image.jpg');
// same applies for all other models
$user = User::find(1)
$facebook = $user->getMeta('facebook');
$user->setMeta('social', ['facebook' => 'facebook.com/me', 'instagram' => 'instagram.com/me']);
$comment = Comment::find(1);
$meta = $comment->getMeta('some_comment_meta');
$term = Term::find(123);
$meta = $term->getMeta('some_term_meta');
// delete meta
$post = Post::find(123)->deleteMeta('some_term_meta');
use \WPEloquent\Model\Post;
$siteurl = Option::getValue('siteurl');
use \WPEloquent\Model\Options;
$siteurl = Option::where('option_name', 'siteurl')->value('option_value');
use \WPEloquent\Model\Link;
$siteurl = Link::find(1);
namespace App\Model;
class User extends \WPEloquent\Model\User {
public function orders() {
return $this->hasMany('\App\Model\User\Orders');
}
public function current() {
// some functionality to get current user
}
public function favorites() {
return $this->hasMany('Favorites');
}
}
namespace App\Model;
class Post extends \WPEloquent\Model\Post {
public function countries() {
return $this->terms()->where('taxonomy', 'country');
}
}
Post::with(['categories', 'countries'])->find(1);
namespace App\Model;
class CustomPostType extends \WPEloquent\Model\Post {
protected $post_type = 'custom_post_type';
public static function getBySlug(string $slug): self
{
return self::where('post_name', $slug)->firstOrfail();
}
}
CustomPostType::with(['categories', 'countries'])->find(1);
use \WPEloquent\Core\Laravel;
print_r(Laravel::queryLog());
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.