djvue / wp-admin-bundle
Symfony bundle for wp-admin-bundle package
Installs: 396
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/djvue/wp-admin-bundle
Requires
- php: >=8.0
- ext-mbstring: *
- ext-mysqli: *
- stoutlogic/acf-builder: ^1.10
- symfony/config: >=5.2
- symfony/dependency-injection: >=5.2
- symfony/filesystem: >=5.2
- symfony/framework-bundle: >=5.2
- symfony/http-kernel: >=5.2
- symfony/routing: >=5.2
- symfony/serializer: >=5.2
- symfony/translation: >=5.2
- symfony/yaml: >=5.2
Requires (Dev)
- ext-gd: *
- advanced-custom-fields/advanced-custom-fields-pro: *
- fakerphp/faker: ^1.13
- jetbrains/phpstorm-attributes: ^1.0
- johnpbloch/wordpress: ^5.6
- psalm/plugin-symfony: ^2.1
- stoutlogic/acf-builder: ^1.10
- symfony/browser-kit: ^5.2
- symfony/cache: ^5.3
- symfony/css-selector: ^5.2
- symfony/maker-bundle: ^1.29
- symfony/phpunit-bridge: ^5.2
- vimeo/psalm: ^4.4
- wpackagist-plugin/acf-extended: *
- wpackagist-plugin/duplicate-post: *
- wpackagist-plugin/post-types-order: *
- wpackagist-plugin/svg-support: *
- wpackagist-plugin/taxonomy-terms-order: *
- wpackagist-plugin/wordpress-seo: *
Suggests
- advanced-custom-fields/advanced-custom-fields-pro: Customise WordPress with powerful, professional and intuitive fields.
- johnpbloch/wordpress: Wordpress
- wpackagist-plugin/duplicate-post: Duplicate posts
- wpackagist-plugin/post-types-order: Change post order
- wpackagist-plugin/taxonomy-terms-order: Change taxonomy order
- wpackagist-plugin/wordpress-seo: The favorite WordPress SEO plugin of millions of users worldwide!
- dev-master
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.8.12
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
This package is auto-updated.
Last update: 2025-10-20 20:03:02 UTC
README
Gettings started
- Add in composer.json:
{
    "repositories": [
        {
            "type": "composer",
            "url": "https://wpackagist.org",
            "only": [
                "wpackagist-plugin/*",
                "wpackagist-theme/*"
            ]
        },
        {
            "type": "composer",
            "url": "https://pivvenit.github.io/acf-composer-bridge/composer/v3/wordpress-plugin/"
        }
    ],
    "require": {
        "...": "...",
        "johnpbloch/wordpress": "^5.6",
        "advanced-custom-fields/advanced-custom-fields-pro": "5.9.5",
        "wpackagist-plugin/duplicate-post": "*",
        "wpackagist-plugin/post-types-order": "*",
        "wpackagist-plugin/regenerate-thumbnails": "*",
        "wpackagist-plugin/svg-support": "*",
        "wpackagist-plugin/taxonomy-terms-order": "*",
        "wpackagist-plugin/wordpress-seo": "*"
    },
    "scripts": {
        "auto-scripts": {
            "...": "...",
            "wp:clear-installation": "symfony-cmd"
        },
        "post-install-cmd": [
            "...",
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "...",
            "@auto-scripts"
        ]
    },
    "extra": {
        "...": "...",
        "wordpress-install-dir": "public/wp",
        "installer-paths": {
            "public/content/plugins/{$name}/": [
                "vendor:wpackagist-plugin",
                "type:wordpress-plugin"
            ]
        }
    }
}
- Add in symfony routes config:
wp-admin: resource: "@WpAdminBundle/Resources/config/routes.yaml"
- Setup nginx config:
server {
    listen 80;
    server_name _;
    set $php_upstream unix:/var/run/php/php-fpm.sock;
    set $root /var/www/public;
    # uncomment if use local files uploads (not S3 for example)
    #location /content/uploads {
    #    expires max;
    #    root $root;
    #    try_files $uri 404;
    #}
    # symfony bundles static
    location /bundles {
        root $root;
        try_files $uri 404;
    }
    # symfony routes
    location ~ ^/(api/.+|wp/wp-admin/?|robots\.txt|sitemap(-\d+)?\.xml|wp-json/.+)$ {
        fastcgi_pass $php_upstream;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param PHP_SELF /var/www/public/index.php;
        fastcgi_param SCRIPT_NAME /var/www/public/index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/public/index.php;
    }
    # admin static
    location ~ ^/(content/plugins|wp/wp-admin/css|wp/wp-admin/js|wp/wp-admin/images|wp/wp-includes/css|wp/wp-includes/js|wp/wp-includes/images|wp/wp-includes/fonts) {
        expires 14d;
        root $root;
        try_files $uri 404;
    }
    location ~ ^/(wp/wp-login\.php|wp/wp-admin/.+\.php)$ {
        root $root;
        fastcgi_pass $php_upstream;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fastcgi_param SCRIPT_FILENAME /var/www/public/index.php;
    }
    location / {
        # ...
    }
}
Local developing
- Example of local docker-compose.yaml file
version: "3.8" volumes: php_socket: mysql_data: services: php-fpm: image: ggpa/php:8.1.2-wp-debug restart: unless-stopped environment: PHP_IDE_CONFIG: $PHP_IDE_CONFIG XDEBUG_MODE: debug #XDEBUG_MODE: debug,profile #XDEBUG_CONFIG: output_dir=/var/www/var/log ACF_PRO_KEY: $ACF_PRO_KEY volumes: - ./:/var/www - php_socket:/var/run/php #- ./var/uploads:/var/www/public/content/uploads - ./deploy/dev/php-fpm.conf:/usr/local/etc/php-fpm.d/zz-docker.conf depends_on: - mysql extra_hosts: - "dockerhost:172.17.0.1" nginx: image: nginx:alpine restart: unless-stopped ports: - "YOUR_APP_PORT:80" volumes: - php_socket:/var/run/php - ./:/var/www:ro #- ./var/uploads:/var/www/public/content/uploads - ./deploy/dev/nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - php-fpm extra_hosts: - "dockerhost:172.17.0.1" mysql: image: mysql:8.0 restart: unless-stopped command: --default-authentication-plugin=mysql_native_password --secure-file-priv=NULL --default-time-zone='+03:00' --general_log=0 --performance_schema=0 environment: MYSQL_DATABASE: app MYSQL_ALLOW_EMPTY_PASSWORD: 1 volumes: - mysql_data:/var/lib/mysql ports: - "YOUR_MYSQL_PORT:3306"
- And local php-fpm.conf
[global]
daemonize = no
process_control_timeout = 20
[www]
listen = /var/run/php/php-fpm.sock
listen.mode = 0666
ping.path = /ping
access.log = /dev/null
- .env
COMPOSE_PROJECT_NAME=YOUR_APP_NAME PHP_IDE_CONFIG="serverName=YOUR_APP_SERVER" HOST=http://localhost:YOUR_APP_PORT DB_HOST=mysql DB_PORT=3306 DB_NAME=app DB_USER=root DB_PASSWORD=