{"id":20862355,"url":"https://github.com/frugan-dev/upload-field-to-youtube-for-acf","last_synced_at":"2025-07-07T21:13:28.170Z","repository":{"id":262291613,"uuid":"884223059","full_name":"frugan-dev/upload-field-to-youtube-for-acf","owner":"frugan-dev","description":"Upload Field to YouTube for ACF is a WordPress plugin that allows you to upload videos directly to YouTube via API from the WordPress admin area","archived":false,"fork":false,"pushed_at":"2024-12-03T14:48:07.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T07:42:19.578Z","etag":null,"topics":["acf","acf-addon","acf-field","php","scf","wordpress","wordpress-plugin","youtube","youtube-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frugan-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["frugan-dev"],"buy_me_a_coffee":"frugan"}},"created_at":"2024-11-06T11:21:02.000Z","updated_at":"2024-12-03T14:50:01.000Z","dependencies_parsed_at":"2024-12-03T15:29:20.695Z","dependency_job_id":"e02eeab2-59f6-4276-bb77-c2f2e1bcd787","html_url":"https://github.com/frugan-dev/upload-field-to-youtube-for-acf","commit_stats":null,"previous_names":["frugan-dev/upload-field-to-youtube-for-acf"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frugan-dev%2Fupload-field-to-youtube-for-acf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frugan-dev%2Fupload-field-to-youtube-for-acf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frugan-dev%2Fupload-field-to-youtube-for-acf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frugan-dev%2Fupload-field-to-youtube-for-acf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frugan-dev","download_url":"https://codeload.github.com/frugan-dev/upload-field-to-youtube-for-acf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243233999,"owners_count":20258374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acf","acf-addon","acf-field","php","scf","wordpress","wordpress-plugin","youtube","youtube-api"],"created_at":"2024-11-18T05:20:54.581Z","updated_at":"2025-03-12T14:29:32.978Z","avatar_url":"https://github.com/frugan-dev.png","language":"PHP","funding_links":["https://github.com/sponsors/frugan-dev","https://buymeacoffee.com/frugan"],"categories":[],"sub_categories":[],"readme":"![](.wordpress-org/banner-1544x500.jpg)\n\n![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/frugan-dev/upload-field-to-youtube-for-acf/total)\n![GitHub Actions Workflow Status](https://github.com/frugan-dev/upload-field-to-youtube-for-acf/actions/workflows/main.yml/badge.svg)\n![GitHub Issues](https://img.shields.io/github/issues/frugan-dev/upload-field-to-youtube-for-acf)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen)\n![GitHub Release](https://img.shields.io/github/v/release/frugan-dev/upload-field-to-youtube-for-acf)\n![License](https://img.shields.io/github/license/frugan-dev/upload-field-to-youtube-for-acf)\n\u003c!--\n![PHP Version](https://img.shields.io/packagist/php-v/frugan-dev/upload-field-to-youtube-for-acf)\n![Coverage Status](https://img.shields.io/codecov/c/github/frugan-dev/upload-field-to-youtube-for-acf)\n![Code Climate](https://img.shields.io/codeclimate/maintainability/frugan-dev/upload-field-to-youtube-for-acf)\n--\u003e\n\n# Upload Field to YouTube for ACF (WordPress Plugin)\n\n__Upload Field to YouTube for ACF__ is a WordPress plugin that allows you to upload videos directly to YouTube via API from the WordPress admin area and/or select existing videos on your YouTube channel based on playlists. It is particularly useful for managing videos that may be associated with Custom Post Types (CPT).\n\nTo use this plugin, you need to configure Google oAuth credentials so the plugin can authenticate with the user's YouTube channel.\n\n## Requirements\n\n- PHP ^8.0\n- WordPress ^5.7 || ^6.0\n- [Advanced Custom Fields](https://www.advancedcustomfields.com) ^5.9 || ^6.0\n\n## Features\n\n- direct video upload to YouTube from CPTs within the WordPress interface\n- selection of existing YouTube videos, filtered by playlists\n- support for \"unlisted\" video privacy, making this plugin ideal for managing private or exclusive videos tied to specific content\n- use official [ACF Example Field Type](https://github.com/AdvancedCustomFields/acf-example-field-type)\n- support for logging with [Wonolog](https://github.com/inpsyde/Wonolog) ^2.x, if available\n- made with [Vanilla JS](http://vanilla-js.com) (no jQuery)\n- autoload classes with Composer and PSR-4\n- support ACF nested repeater\n- translations managed via [Crowdin](https://crowdin.com/project/upload-field-to-youtube-for-acf)\n\n## Installation\n\nYou can install the plugin in three ways: manually, via Composer (wpackagist) _(coming soon)_ or via Composer (package).\n\n\u003cdetails\u003e\n\u003csummary\u003eManual Installation\u003c/summary\u003e\n\n1. Go to the [Releases](../../releases) section of this repository.\n2. Download the latest release zip file.\n3. Log in to your WordPress admin dashboard.\n4. Navigate to `Plugins` \u003e `Add New`.\n5. Click `Upload Plugin`.\n6. Choose the downloaded zip file and click `Install Now`.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation via Composer \"wpackagist\" (coming soon)\u003c/summary\u003e\n\nIf you use Composer to manage WordPress plugins, you can install it from [WordPress Packagist](https://wpackagist.org):\n\n1. Open your terminal.\n2. Navigate to the root directory of your WordPress installation.\n3. Ensure your `composer.json` file has the following configuration: *\n\n```json\n{\n    \"require\": {\n        \"composer/installers\": \"^1.0 || ^2.0\",\n        \"wpackagist-plugin/upload-field-to-youtube-for-acf\": \"^0.1\"\n    },\n    \"extra\": {\n        \"installer-paths\": {\n            \"wp-content/plugins/{$name}/\": [\n               \"type:wordpress-plugin\"\n            ]\n        }\n    }\n}\n```\n4. Run the following command:\n\n```sh\ncomposer update\n```\n\n\u003csub\u003e\u003ci\u003e\n_Note:_  \n_* `composer/installers` might already be required by another dependency._\n\u003c/i\u003e\u003c/sub\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eInstallation via Composer \"package\"\u003c/summary\u003e\n\nIf you use Composer to manage WordPress plugins, you can install it from this repository directly:\n\n1. Open your terminal.\n2. Navigate to the root directory of your WordPress installation.\n3. Ensure your `composer.json` file has the following configuration: *\n\n```json\n{\n    \"require\": {\n        \"composer/installers\": \"^1.0 || ^2.0\",\n        \"frugan-dev/upload-field-to-youtube-for-acf\": \"^0.1\"\n    },\n    \"repositories\": [\n        {\n            \"type\": \"package\",\n            \"package\": {\n                \"name\": \"frugan-dev/upload-field-to-youtube-for-acf\",\n                \"version\": \"0.2.1\",\n                \"type\": \"wordpress-plugin\",\n                \"dist\": {\n                    \"url\": \"https://github.com/frugan-dev/upload-field-to-youtube-for-acf/releases/download/v0.2.1/upload-field-to-youtube-for-acf.zip\",\n                    \"type\": \"zip\"\n                }\n            }\n        }\n    ],\n    \"extra\": {\n        \"installer-paths\": {\n            \"wp-content/plugins/{$name}/\": [\n               \"type:wordpress-plugin\"\n            ]\n        }\n    }\n}\n```\n4. Run the following command:\n\n```sh\ncomposer update\n```\n\n\u003csub\u003e\u003ci\u003e\n_Note:_  \n_* `composer/installers` might already be required by another dependency._\n\u003c/i\u003e\u003c/sub\u003e\n\u003c/details\u003e\n\n## Configuration\n\nOnce installed:\n\n1. In your WordPress admin dashboard, navigate to the `Plugins` section and click `Activate Plugin`.\n2. Create a new field via ACF and select the `YouTube Uploader` type.\n3. Read the description above for advanced usage instructions.\n\n### Creating the oAuth Credentials\n\n1. Go to the [Google API Console](https://console.developers.google.com/).\n2. Create a project or select an existing one.\n3. Navigate to the **OAuth consent screen** section and configure the required details to enable authentication.\n4. Then, go to **Credentials** and create an **OAuth 2.0 Client ID**.\n5. In the **Authorized redirect URIs** field, enter your WordPress site's callback URL (e.g., `https://domain.tld/wp-admin/`).\n6. Obtain the `Client ID` and `Client Secret`.\n\n#### Limitations\n\nIf you use the API upload mode, please note this important notice [here](https://developers.google.com/youtube/v3/docs/videos/insert):\n\n\u003e All videos uploaded via the `videos.insert` endpoint from unverified API projects created after July 28, 2020, will be restricted to private viewing mode. To lift this restriction, each API project must undergo an audit to verify compliance with the YouTube Terms of Service.\n\n### Setting in wp-config.php\n\nAdd the following lines to `wp-config.php` to define the oAuth credentials:\n\n```php\ndefine('FRUGAN_UFTYFACF_GOOGLE_OAUTH_CLIENT_ID', 'Client ID');\ndefine('FRUGAN_UFTYFACF_GOOGLE_OAUTH_CLIENT_SECRET', 'Client Secret');\n```\n\n### Enabling Cache Busting\n\nIf you use filename-based cache busting, the plugin supports the following definition in `wp-config.php`:\n\n```php\ndefine('FRUGAN_UFTYFACF_CACHE_BUSTING_ENABLED', true);\n```\n\nFor more information, see filename-based cache busting on [Nginx](https://github.com/h5bp/server-configs-nginx/blob/main/h5bp/location/web_performance_filename-based_cache_busting.conf) and [Apache](https://github.com/h5bp/server-configs-apache/blob/main/h5bp/web_performance/filename-based_cache_busting.conf).\n\n## More info\n\nSee [LINKS](docs/LINKS.md) file.\n\n## Changelog\n\nSee auto-[CHANGELOG](CHANGELOG.md) file.\n\n## Contributing\n\nFor your contributions please use:\n\n- [git-flow workflow](https://danielkummer.github.io/git-flow-cheatsheet/)\n- [conventional commits](https://www.conventionalcommits.org)\n\n## Sponsor\n\n[\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" width=\"200\" alt=\"Buy Me A Coffee\"\u003e](https://buymeacoff.ee/frugan)\n\n## License\n\n(ɔ) Copyleft 2024 [Frugan](https://frugan.it).  \n[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/), see [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrugan-dev%2Fupload-field-to-youtube-for-acf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrugan-dev%2Fupload-field-to-youtube-for-acf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrugan-dev%2Fupload-field-to-youtube-for-acf/lists"}