Skip to content
Hordekiller edited this page Jun 26, 2026 · 1 revision

Frequently Asked Questions

General

What is this plugin?

It converts Figma designs into Elementor templates automatically. Paste a Figma URL, select frames, and import them as Elementor templates with styles preserved.

Does it require Elementor Pro?

No. The plugin works with the free version of Elementor. It uses Elementor Containers (Flexbox) which are available in Elementor 3.0+ (free).

Will it delete my existing Elementor templates?

No. The plugin always creates new templates. It never modifies, deletes, or overwrites existing Elementor content.

Setup

How do I get a Figma Personal Access Token?

  1. Go to Figma Settings → Account → Personal Access Tokens
  2. Click "Generate new token", give it a descriptive name
  3. Copy the token (starts with figd_)
  4. Paste it in Figma Sync → Settings in your WordPress admin

How do I find my Figma file key?

Open your design in Figma. The URL format is:

https://www.figma.com/file/abc123DEF/My-Design

The part between file/ and /My-Design (abc123DEF) is your file key. You can paste the full URL or just the key.

Security

Is my Figma token secure?

Yes. Your token is encrypted at rest using AES-256-CBC with your WordPress salt key (wp_salt('AUTH_KEY')). Old plaintext tokens are automatically encrypted on the next save.

What data does the plugin store?

  • Settings — your encrypted Figma token, default file key, and sync preferences (WordPress options table)
  • Templates — imported designs as Elementor library posts
  • Cache — Figma API responses as WordPress transients (auto-cleared)
  • Logs — debug logs (if enabled)

What happens when I uninstall the plugin?

The uninstall.php script cleans up:

  • All plugin options (hello_figma_pat, hello_figma_file_key, etc.)
  • All transients
  • All post meta (_hello_figma_source, _hello_figma_data, etc.)
  • Attachment meta (_hello_figma_node_id)

Your Elementor templates remain but lose their Figma metadata.

Usage

Can I import multiple frames at once?

Not yet. Batch import is planned for a future release. Currently, import one frame at a time.

Why are some elements not positioned correctly?

If you have rotated elements (rotation > 0.01°), they skip absolute positioning in the current version. Correct positioning of rotated elements requires the full relativeTransform 2×3 matrix, which is a complex calculation planned for a future release.

Why am I getting rate-limited?

Figma's API has a rate limit of 2 requests per second with a burst limit. If you make too many requests, you'll get a 429 response. The plugin has built-in rate limiting (0.5s delay between requests) and automatic retry (up to 3 attempts).

Can I customize the cache duration?

Yes. Use the hello_figma_cache_ttl filter:

add_filter('hello_figma_cache_ttl', function($ttl, $context) {
    if ($context === 'file') return DAY_IN_SECONDS; // cache file data for 1 day
    return $ttl;
}, 10, 2);

Can I increase the API timeout?

Yes. Use the hello_figma_api_timeout filter:

add_filter('hello_figma_api_timeout', function() { return 180; }); // 3 minutes

Requirements

What PHP version do I need?

PHP 8.0 or higher. The plugin uses strict types, named arguments, match expressions, and modern PHP 8 features.

What WordPress version is required?

WordPress 6.6 or higher (tested up to 7.0).

Does it work with WordPress Multisite?

The plugin is compatible with standard WordPress installations. Multisite support has not been specifically tested.

Troubleshooting

"Invalid token" error

  • Make sure you copied the full token (starts with figd_)
  • Tokens expire after 90 days — generate a new one
  • Check that the token has access to the Figma file you're trying to import

"File not found" error

  • Verify the file key is correct
  • Make sure your Figma token has access to the file
  • Check that the file hasn't been deleted or moved

Import hangs or times out

  • Large files may take longer — increase the API timeout filter
  • Check your internet connection
  • The Figma API may be rate-limiting your requests
  • Try importing individual frames instead of the whole file

Styles look different in Elementor

  • Figma and CSS render text differently (anti-aliasing, etc.)
  • Some gradients with complex stops may need manual adjustment
  • Check that your Elementor version supports all the features used

Contributing

How can I help?

See Contributing for full details. Quick ways to help:

  • Star the repo on GitHub
  • Report bugs via GitHub Issues
  • Suggest features via Discussions
  • Submit pull requests for bug fixes or improvements

Clone this wiki locally