Git Product home page Git Product logo

wp-cli-fixtures's Issues

Publish a new release?

It's been quite a while since you've published a new release (0.3.0...master) worth a 0.4.0?

We run wp package install hellonico/wp-cli-fixtures as part of our setup and would be good to be able to use wp package install hellonico/wp-cli-fixtures:@stable with the new features now in master.

How to use before value in Yaml file

Please See this yml File:

Hellonico\Fixtures\Entity\User:
  user{1..10}:
    user_login (unique): <username()> # '(unique)' is required
    user_pass: 123
    user_email: <freeEmail()>
    user_url: <url()>
    user_registered: <dateTimeThisDecade()>
    first_name: <firstName()>
    last_name: <lastName()>
    description: <sentence()>
    role: <randomElement(['subscriber', 'editor'])>
    meta:
      show_admin_bar_front: 'false'
      billing_phone: <phoneNumber()>
      billing_country: 'IR'
      billing_state: <randomElement(['ABZ','ADL','EAZ','WAZ','BHR','CHB','FRS','GIL','GLS','HDN','HRZ','ILM','ESF','KRN','KRH','NKH','RKH','SKH','KHZ','KBD','KRD','LRS','MKZ','MZN','GZN','QHM','SMN','SBN','THR','YZD','ZJN'])>
      billing_city: <city()>
      billing_address_1: <streetAddress()>
      billing_postcode: <postcode()>
      billing_email: <freeEmail()>
      billing_first_name: <firstName()>
      billing_last_name: <lastName()>

I want to billing_first_name = first_name when creating this user in any loop?

Problem 2

#
# POSTS
#
Hellonico\Fixtures\Entity\Post:

  # TEMPLATE
  defaultpost (template):
    post_title: <words(5, true)>
    post_date: <dateTimeThisDecade()>
    post_content: <paragraphs(5, true)>
    post_excerpt: <paragraphs(1, true)>

  # CUSTOM POST TYPE
  product{1..15} (extends defaultpost):
    post_type: product
    meta:
      _thumbnail_id: '@custom_images*->ID'
    meta_input:
      _sku: <numberBetween(1000, 2000)>
      _regular_price: <numberBetween(10000, 20000)>
      _price: <numberBetween(10000, 20000)>
      _sale_price: <numberBetween(10000, 20000)>
      _stock_status: 'instock'
      _manage_stock: 'yes'
      _stock: <numberBetween(1, 10)>

I Want to _sale_price = _price. how to use before value in YAML?

thanks

Feature request

Hi, first of all thank you for this awesome package.
My company is considering to adopt it for our local WP development and we'd like to have these features discussed:

  • a new Option entity. We heavily rely on the Advanced Custom Field plugin and while we can already easily set meta data for posts, users, and terms we would like to have the possibility to feed the wp_options table as well
  • the ability to keep pages when deleting posts. Usually when developing sites we always have a predetermined set of pages that should always exist. We would like to have a way to keep pages when deleting fake data and instead just delete their meta data and post_content

Adding flexible content

Hi,

I have an ACF flexible content field to add "components", groups of acf fields, to a custom post type. All the fixtures I have made so far are working well. How would I add a flexible content field?

This is what I am trying so far:

Hellonico\Fixtures\Entity\Post:
    post{1..2}:
        post_type: 'blog'
        post_title (unique): '<words(4, true)>'
        post_date: '<dateTimeThisDecade()>'
        acf:
            byline: '<firstName()> <lastName()>'
            intro: '<words(20, true)>'
            add_image: 'true'
            featured_image:  '@featured_images*->ID'
            featured_image_alt_text: '<words(4, true)>'
            components:
                - 'text'
                - 'image'
            components_0_header: '<words(4, true)>'
            components_0_rich_text: <paragraphs(2, true)>
            components_0_add_image: 'true'
            components_0_image: '@pics*->ID'
            components_0_image_alt_text: '<words(4, true)>'
            components_0_placement: 'right'
            components_0_size: 'half'
            components_1_image: '@pics*->ID'
            components_1_image_alt_text: '<words(4, true)>'

and this is what a dump of the $post looks like:

  +ImageClass: "Timber\Image"
  +PostClass: "Timber\Post"
  +TermClass: "Timber\Term"
  +object_type: "post"
  +custom: array:32 [▼
    "_fake" => "1"
    "_wp_old_date" => "2021-10-28"
    "byline" => "Allison Runolfsson"
    "_byline" => "field_blog_byline"
    "intro" => "sed a nam et sint autem inventore aut officia aut aut blanditiis et ducimus eos odit amet et est ut"
    "_intro" => "field_blog_intro"
    "add_image" => "1"
    "_add_image" => "field_blog_add_image"
    "featured_image" => "76"
    "_featured_image" => "field_blog_featured_image"
    "featured_image_alt_text" => "nisi molestiae quidem ut"
    "_featured_image_alt_text" => "field_blog_featured_image_alt_text"
    "components" => array:2 [▼
      0 => "text"
      1 => "image"
    ]
    "_components" => "field_blog_components"
    "_edit_lock" => "1635428232:1"
    "_edit_last" => "1"
    "featured_image_caption" => ""
    "_featured_image_caption" => "field_blog_featured_image_caption"
    "components_0_header" => "header"
    "_components_0_header" => "field_blog_components_text_header"
    "components_0_hide_header" => "0"
    "_components_0_hide_header" => "field_blog_components_text_hide_header"
    "components_0_rich_text" => "rich text"
    "_components_0_rich_text" => "field_blog_components_text_rich_text"
    "components_0_add_image" => "0"
    "_components_0_add_image" => "field_blog_components_text_add_image"
    "components_1_image" => "76"
    "_components_1_image" => "field_blog_components_image_image"
    "components_1_image_alt_text" => "field"
    "_components_1_image_alt_text" => "field_blog_components_image_image_alt_text"
    "components_1_image_caption" => ""
    "_components_1_image_caption" => "field_blog_components_image_image_caption"
  ]```

Any guidance would be appreciated.

Picsum declaration incompatible

Hello, when I run wp fixtures load I am hitting the following error:

PHP Fatal error: Declaration of Hellonico\Fixtures\Provider\Picsum::imageUrl($width = 640, $height = 480, $filters = [], $format = 'jpg', $unused = false, $unused_ = false) must be compatible with Faker\Provider\Image::imageUrl($width = 640, $height = 480, $category = null, $randomize = true, $word = null, $gray = false, $format = 'png') in /var/www/html/sites/test/vendor/hellonico/wp-cli-fixtures/src/Provider/Picsum.php on line 19

Translatable content and fixtures

Have you given any thought to how you might handle translations of fixtures?
For example how to handle fixtures on sites using WPML?

Given the following:

#
# TERMS
#
Hellonico\Fixtures\Entity\Term:
  focus_areas{1..4}: # custom taxonomy
    name (unique): <words(3, true)> # '(unique)' is required
    description: <sentences(1, true)>
    taxonomy: focus_area

#
# POSTS
#
Hellonico\Fixtures\Entity\Post:
  default (template):
    post_title: <words(2, true)>
    post_date: <dateTimeThisDecade()>
    post_content: <paragraphs(5, true)>
    post_excerpt: <paragraphs(1, true)>

  projects_with_focus_area_1_{1..5}:
      __construct: [<postId(post_type=projects&post_status=publish)>]
      tax_input:
        focus_area: '@focus_areas1->term_id'

I can relate the generated terms just fine to the existing posts, but the <postID()> function does not stick to fetching posts in the default language. It randomly fetches posts regardless of their language. Would you be interested in a fix for this?

I imagine checking if WPML is running, and if so, limit the post query to only fetch posts in the default language.

Feature Request: Delete content added to existing posts

Example use case:
Say I have an existing post, and I add a new ACF field to it.
I then populate the new field with fixtures during development.
Prior to deploying the new field, I remove the fixtures for the new field.

Would this be possible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.