PHP code example of substrakt / faktory
1. Go to this page and download the library: Download substrakt/faktory 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/ */
substrakt / faktory example snippets
$f = Faktory::create(string $factory = "page", array|object $args = []);
$args = [
"comment_count" => "",
"comment_status" => "",
"ID" => 0,
"meta_input" => [],
"menu_order" => 0,
"ping_status" => "",
"post_author" => "",
"post_content" => "",
"post_date_gmt" => $date,
"post_date" => $date,
"post_excerpt" => "",
"post_modified_gmt" => $date,
"post_modified" => $date,
"post_name" => "",
"post_parent" => 0,
"post_password" => "",
"post_status" => "publish",
"post_title" => Randomize::chars()->generate(),
"post_type" => "page",
"tax_input" => [],
];
$f = Faktory::create("page");
$f = Faktory::create("page", ["post_title" => "About me", "post_name" => "about"]);
$args = [
"alias_of" => "",
"description" => "",
"name" => Randomize::chars()->generate(),
"parent" => 0,
"slug" => "",
"taxonomy" => "category",
];
$f = Faktory::create("term", ["name" => "Programming"]);
$f = Faktory::create("term", ["name" => "TDD", "taxonomy" => "post_tag"]);
$f = Faktory::create("term", ["name" => "Computer Science", "taxonomy" => "genre"]);
$term = Faktory::create("term", ["name" => "Programming"]);
$page = Faktory::create("page", [
"tax_input" => [
"category" => [$term->ID]
]
]);
(function() {
$userId = 1;
if (empty(get_users())) {
$userId = wp_create_user('admin', 'password');
}
$user = new \WP_User($userId);
$user->set_role('administrator');
\wp_set_current_user($userId);
})();
$f = Faktory::new("page");
$f = Faktory::new("page");
...
$f->save();
$f = Faktory::create("page")->as("TheClassIWant");
# is equal to
$f = new TheClassIWant(Faktory::create("page"));
Faktory::addDirs([
"the/full/path/to/your/factories/dir"
]);
[
...,
"class" => "\Faktory\Page",
];
[
...,
"class" => "\Faktory\Term",
];
# faktory/factories/page.php
$date = date("Y-m-d H:i:s");
return [
"comment_count" => "",
"comment_status" => "",
"ID" => 0,
"meta_input" => [],
"menu_order" => 0,
"ping_status" => "",
"post_author" => "",
"post_content" => "",
"post_date_gmt" => $date,
"post_date" => $date,
"post_excerpt" => "",
"post_modified_gmt" => $date,
"post_modified" => $date,
"post_name" => "",
"post_parent" => 0,
"post_password" => "",
"post_status" => "publish",
"post_title" => Randomize::chars()->generate(),
"post_type" => "page",
"tax_input" => [],
"class" => "\Faktory\Page",
];
# faktory/factories/post.php
$date = date("Y-m-d H:i:s");
return [
"comment_count" => "",
"comment_status" => "",
"ID" => 0,
"meta_input" => [],
"menu_order" => 0,
"ping_status" => "",
"post_author" => "",
"post_content" => "",
"post_date_gmt" => $date,
"post_date" => $date,
"post_excerpt" => "",
"post_modified_gmt" => $date,
"post_modified" => $date,
"post_name" => "",
"post_parent" => 0,
"post_password" => "",
"post_status" => "publish",
"post_title" => Randomize::chars()->generate(),
"post_type" => "post",
"tax_input" => [],
"class" => "\Faktory\Post",
];
# faktory/factories/term.php
return [
"count" => 0,
"description" => "",
"name" => Randomize::chars()->generate(),
"parent" => 0,
"post_author" => "",
"slug" => "",
"taxonomy" => "category",
"term_group" => 0,
"term_id" => 0,
"term_taxonomy_id" => 0,
"class" => "\Faktory\Term",
];
Faktory::new("page", ["title" => "Foo", "content" => "Foo bar baz"]);
$map = [
"author" => "post_author",
"name" => "post_name",
"type" => "post_type",
"title" => "post_title",
"date" => "post_date",
"date_gmt" => "post_date_gmt",
"content" => "post_content",
"excerpt" => "post_excerpt",
"status" => "post_status",
"password" => "post_password",
"parent" => "post_parent",
"modified" => "post_modified",
"modified_gmt" => "post_modified_gmt",
"meta" => "meta_input",
];
$fixture = Faktory::create('foobar');
$fixture->post_type #=> 'foobar'
$fixture = Faktory::create('page', [
'meta_input' => [
'masthead_image__color' => '#000',
'_masthead_image__color' => 'field_5be99d501d261',
]
]);