index.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import { registerPlugin } from "@wordpress/plugins";
  2. import { PluginSidebar, PluginSidebarMoreMenuItem } from "@wordpress/edit-post";
  3. import { __ } from "@wordpress/i18n";
  4. import { PanelBody, TextControl, TextareaControl } from "@wordpress/components";
  5. import { withSelect, withDispatch } from "@wordpress/data";
  6. let PluginMetaFields_media_url = (props) => {
  7. return (
  8. <>
  9. <PanelBody
  10. title={__("Media URL", "textdomain")}
  11. icon="format-video"
  12. intialOpen={ true }
  13. >
  14. <TextControl
  15. value={props.text_metafield}
  16. label={__("video for meta", "textdomain")}
  17. help="( postmeta: dwp23_media_meta_url )"
  18. onChange={(value) => props.onMetaFieldChange_media_url(value)}
  19. />
  20. </PanelBody>
  21. </>
  22. )
  23. }
  24. let PluginMetaFields_poster_image_url = (props) => {
  25. return (
  26. <>
  27. <PanelBody
  28. title={__("Poster Image URL", "textdomain")}
  29. icon="format-image"
  30. intialOpen={ true }
  31. >
  32. <TextControl
  33. value={props.text_metafield_poster_image_url}
  34. label={__("image for video poster", "textdomain")}
  35. help="( postmeta: dwp23_image_meta_url )"
  36. onChange={(value) => props.onMetaFieldChange_poster_image_url(value)}
  37. />
  38. </PanelBody>
  39. </>
  40. )
  41. }
  42. PluginMetaFields_media_url = withSelect(
  43. (select) => { return {
  44. text_metafield: select('core/editor').getEditedPostAttribute('meta')['dwp23_media_url_meta']}
  45. })(PluginMetaFields_media_url);
  46. PluginMetaFields_media_url = withDispatch(
  47. (dispatch) => { return {
  48. onMetaFieldChange_media_url: (value) => {
  49. dispatch('core/editor').editPost({meta: {dwp23_media_url_meta: value}})
  50. }
  51. }
  52. })(PluginMetaFields_media_url);
  53. PluginMetaFields_poster_image_url = withSelect(
  54. (select) => { return {
  55. text_metafield_featured_image_url: select('core/editor').getEditedPostAttribute('meta')['dwp23_poster_url_meta']
  56. }
  57. })(PluginMetaFields_poster_image_url);
  58. PluginMetaFields_poster_image_url = withDispatch(
  59. (dispatch) => { return {
  60. onMetaFieldChange_poster_image_url: (value) => {
  61. dispatch('core/editor').editPost({meta: {dwp23_poster_url_meta: value}})
  62. }
  63. }
  64. })(PluginMetaFields_poster_image_url);
  65. registerPlugin( 'dwp-guten-sidebar', {
  66. icon: 'welcome-widgets-menus',
  67. render: () => { return (
  68. <>
  69. <PluginSidebarMoreMenuItem
  70. target="dwp-guten-sidebar"
  71. >
  72. {__('Meta Options', 'textdomain')}
  73. </PluginSidebarMoreMenuItem>
  74. <PluginSidebar
  75. name="dwp-guten-sidebar"
  76. title={__('Post Meta', 'textdomain')}
  77. >
  78. <PluginMetaFields_media_url />
  79. <PluginMetaFields_poster_image_url />
  80. </PluginSidebar>
  81. </>
  82. )}
  83. })