PHP code example of amphibee / wordpress-eloquent-models
1. Go to this page and download the library: Download amphibee/wordpress-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/ */
amphibee / wordpress-eloquent-models example snippets
AmphiBee\Eloquent\Database::instance();
use \AmphiBee\Eloquent\Model\Post;
// récupération du post avec l'ID 1
$post = Post::find(1);
// Données en relations disponibles
$post->author;
$post->comments;
$post->terms;
$post->tags;
$post->categories;
$post->meta;
Post::published()->get();
Post::status('draft')->get();
Post::type('page')->get();
use \AmphiBee\Eloquent\Model\Comment;
// récupère le commentaite ayant pour ID 12345
$comment = Comment::find(12345);
// Données en relation disponibles
$comment->post;
$comment->author;
$comment->meta
$post->terms()->where('taxonomy', 'country');
use \AmphiBee\Eloquent\Model\User;
// Tous les utilisateurs
$users = User::get();
// récupère l'utilisateur ayant pour ID 123
$user = User::find(123);
$siteUrl = Option::get('siteurl');
Option::add('foo', 'bar'); // stockée en tant que chaine de caractères
Option::add('baz', ['one' => 'two']); // le tableau sera sérialisé
$menu = Menu::slug('primary')->first();
foreach ($menu->items as $item) {
echo $item->instance()->title; // si c'est un Post
echo $item->instance()->name; // si c'est un Term
echo $item->instance()->link_text; // si c'est un Custom Link
}
$items = Menu::slug('foo')->first()->items;
$parent = $items->first()->parent(); // Post, Page, CustomLink ou Term (categorie)
// Affiche les posts avec 5 éléments par page
$posts = Post::published()->paginate(5);
foreach ($posts as $post) {
// ...
}
{{ $posts->links() }}
// Récupère un méta (ici 'link') depuis le modèle Post (on aurait pu utiliser un autre modèle comme User)
$post = Post::find(31);
echo $post->meta->link; // OU
echo $post->fields->link;
echo $post->link; // OU
$post = Post::find(1);
$postMeta = $post->createMeta('foo', 'bar'); // instance of PostMeta class
$trueOrFalse = $post->saveMeta('foo', 'baz'); // boolean
// Récupère le premier article ayant une méta "username" et ayant pour valeur "amphibee"
$post = Post::published()->hasMeta('username', 'amphibee')->first();
$post = Post::hasMeta(['username' => 'amphibee'])->first();
$post = Post::hasMeta(['username' => 'amphibee', 'url' => 'amphibee.fr'])->first();
// Ou juste en fournissant les clés de méta-données
$post = Post::hasMeta(['username', 'url'])->first();
// Will match: 'B Gosselet', 'B BOSSELET', and 'b gosselet'.
$post = Post::published()->hasMetaLike('author', 'B GOSSELET')->first();
// En utilisant l'opérateur %, les résultats suivants seront retournés : 'N Leroy', 'N LEROY', 'n leroy', 'Nico Leroy' etc.
$post = Post::published()->hasMetaLike('author', 'N%Leroy')->first();
$post = Post::find(1);
// Récupère une instance de AmphiBee\Eloquent\Model\Meta\ThumbnailMeta.
print_r($post->thumbnail);
// Vous devez afficher l'instance de l'image pour récupérer l'url de l'image d'origine
echo $post->thumbnail;
$post = Post::find(1);
echo $post->acf->website_url; // retourne l'url fournie dans un champs ayant pour clé website_url
// La méthode effectuant des requètes additionnelles
echo $post->acf->author_username; // c'est un champs relatif à User
// Sans requète additionnelle
echo $post->acf->user('author_username');
// Autres exemples sans requètes
echo $post->acf->text('text_field_name');
echo $post->acf->boolean('boolean_field_name');
namespace App\Model;
use \AmphiBee\Eloquent\Model\User as BaseUser;
class User extends BaseUser {
public function orders() {
return $this->hasMany('\App\Model\User\Orders');
}
public function current() {
// fonctionnalité spécifique à l'utilisateur courant
}
public function favorites() {
return $this->hasMany('Favorites');
}
}
namespace App\Model;
user \AmphiBee\Eloquent\Model\Post as BasePost;
class Post extends BasePost {
public function countries() {
return $this->terms()->where('taxonomy', 'country');
}
}
Post::with(['categories', 'countries'])->find(1);
namespace App\Model;
class CustomPostType extends \AmphiBee\Eloquent\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);
// en utilisatn la méthode type()
$videos = Post::type('video')->status('publish')->get();
// en définissant sa propore classe
class Video extends AmphiBee\Eloquent\Model\Post
{
protected $postType = 'video';
}
$videos = Video::status('publish')->get();
// Récupération de 3 élément d'un type de contenu personnalisé et en récupérant une méta-donnée (address)
$stores = Post::type('store')->status('publish')->take(3)->get();
foreach ($stores as $store) {
$storeAddress = $store->address; // option 1
$storeAddress = $store->meta->address; // option 2
$storeAddress = $store->fields->address; // option 3
}
// Récupère le premier article ayant la méta "featured_article"
$post = Post::published()->hasMeta('featured_article')->first();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.