PluginProbe ʕ •ᴥ•ʔ
VK Blocks / trunk
VK Blocks vtrunk
1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / src / blocks / page-content / index.php
vk-blocks / src / blocks / page-content Last commit date
block.json 1 month ago class-vk-blocks-check-using-vk-page-content-block.php 2 months ago edit.js 2 months ago icon.svg 2 months ago index.js 2 months ago index.php 2 months ago
index.php
183 lines
1 <?php
2 /**
3 * Page Content Block
4 *
5 * @package VK Blocks
6 */
7
8 /**
9 * Registers the `vk-blocks/page-content` block.
10 *
11 * @return void
12 */
13 function vk_blocks_register_block_page_content() {
14 global $vk_blocks_common_attributes;
15 register_block_type(
16 __DIR__,
17 array(
18 'editor_style' => 'vk-blocks-build-editor-css',
19 'editor_script' => 'vk-blocks-build-js',
20 'attributes' => array_merge(
21 array(
22 'className' => array(
23 'type' => 'string',
24 'default' => '',
25 ),
26 'TargetPost' => array(
27 'type' => 'number',
28 'default' => -1,
29 ),
30 ),
31 $vk_blocks_common_attributes
32 ),
33 'render_callback' => 'vk_blocks_page_content_render_callback',
34 )
35 );
36 }
37 add_action( 'init', 'vk_blocks_register_block_page_content', 99 );
38
39 // Add filter for render post content
40 add_filter( 'vk_page_content', 'do_blocks', 9 );
41 add_filter( 'vk_page_content', 'wptexturize' );
42 add_filter( 'vk_page_content', 'convert_smilies', 20 );
43 add_filter( 'vk_page_content', 'shortcode_unautop' );
44 add_filter( 'vk_page_content', 'prepend_attachment' );
45 add_filter( 'vk_page_content', 'wp_filter_content_tags' );
46 add_filter( 'vk_page_content', 'do_shortcode', 11 );
47 add_filter( 'vk_page_content', 'capital_P_dangit', 11 );
48
49 /**
50 * Get Page Content Private Alert Message
51 *
52 * @return string
53 */
54 function vk_blocks_get_page_content_private_alert() {
55 $alert = __( "The Page Content block from VK Blocks version 1.95.0 onwards, non-public or password protected page's content can no longer be displayed.", 'vk-blocks' );
56 $alert .= __( 'If you want to display non-public content in multiple locations, please create it as a Synced pattern(Reusable block) and place it in the desired locations instead of using Page Content block.', 'vk-blocks' );
57 return $alert;
58 }
59
60 /**
61 * Render Callback of Page Content Block
62 *
63 * @param array $attributes attributes.
64 * @return string
65 */
66 function vk_blocks_page_content_render_callback( $attributes ) {
67 $page_content_id = ! empty( $attributes['TargetPost'] ) ? $attributes['TargetPost'] : -1;
68 $post = get_post( $page_content_id );
69
70 $is_rest_request = defined( 'REST_REQUEST' ) && REST_REQUEST;
71
72 // 投稿が存在し、�
73 �開されているか、またはパスワード保護されていないかを確認
74 if ( ! $post || 'publish' !== $post->post_status || ! empty( $post->post_password ) ) {
75 if ( is_admin() || $is_rest_request ) {
76 return '<div class="alert alert-danger" style="padding:1.5rem;"><p class="text-center" style="font-weight:bold;">' . __( 'Post not found, not public, or password protected', 'vk-blocks' ) . '</p><p class="mb-0">' . vk_blocks_get_page_content_private_alert() . '</p></div>';
77 } else {
78 // Front Page
79 return '';
80 }
81 }
82
83 $page_content = $post->post_content;
84 vk_blocks_content_enqueue_scripts( $page_content );
85
86 $vk_blocks_options = VK_Blocks_Options::get_options();
87 if ( has_block( 'vk-blocks/faq2', $page_content ) || has_block( 'vk-blocks/faq', $page_content ) ) {
88 if ( 'open' === $vk_blocks_options['new_faq_accordion'] ) {
89 $page_content = str_replace( '[accordion_trigger_switch]', 'vk_faq-accordion vk_faq-accordion-open', $page_content );
90 } elseif ( 'close' === $vk_blocks_options['new_faq_accordion'] ) {
91 $page_content = str_replace( '[accordion_trigger_switch]', 'vk_faq-accordion vk_faq-accordion-close', $page_content );
92 } else {
93 $page_content = str_replace( '[accordion_trigger_switch]', '', $page_content );
94 }
95 }
96 $page_content = str_replace( '[br-xs]', '<br class="vk_responsive-br vk_responsive-br-xs"/>', $page_content );
97 $page_content = str_replace( '[br-sm]', '<br class="vk_responsive-br vk_responsive-br-sm"/>', $page_content );
98 $page_content = str_replace( '[br-md]', '<br class="vk_responsive-br vk_responsive-br-md"/>', $page_content );
99 $page_content = str_replace( '[br-lg]', '<br class="vk_responsive-br vk_responsive-br-lg"/>', $page_content );
100 $page_content = str_replace( '[br-xl]', '<br class="vk_responsive-br vk_responsive-br-xl"/>', $page_content );
101 $page_content = str_replace( '[br-xxl]', '<br class="vk_responsive-br vk_responsive-br-xxl"/>', $page_content );
102
103 $classes = '';
104 $page_html = '';
105
106 if ( -1 !== $page_content_id ) {
107 $classes .= 'vk_pageContent';
108 if ( isset( $attributes['TargetPost'] ) ) {
109 $classes .= ' vk_pageContent-id-' . $page_content_id;
110 }
111 if ( isset( $attributes['vkb_hidden'] ) && $attributes['vkb_hidden'] ) {
112 $classes .= ' vk_hidden';
113 }
114 if ( isset( $attributes['vkb_hidden_xxl'] ) && $attributes['vkb_hidden_xxl'] ) {
115 $classes .= ' vk_hidden-xxl';
116 }
117 if ( isset( $attributes['vkb_hidden_xl_v2'] ) && $attributes['vkb_hidden_xl_v2'] ) {
118 $classes .= ' vk_hidden-xl';
119 }
120 if ( isset( $attributes['vkb_hidden_lg'] ) && $attributes['vkb_hidden_lg'] ) {
121 $classes .= ' vk_hidden-lg';
122 }
123 if ( isset( $attributes['vkb_hidden_md'] ) && $attributes['vkb_hidden_md'] ) {
124 $classes .= ' vk_hidden-md';
125 }
126 if ( isset( $attributes['vkb_hidden_sm'] ) && $attributes['vkb_hidden_sm'] ) {
127 $classes .= ' vk_hidden-sm';
128 }
129 if ( isset( $attributes['vkb_hidden_xs'] ) && $attributes['vkb_hidden_xs'] ) {
130 $classes .= ' vk_hidden-xs';
131 }
132 if ( isset( $attributes['marginTop'] ) && $attributes['marginTop'] ) {
133 $classes .= ' ' . $attributes['marginTop'];
134 }
135 if ( isset( $attributes['marginBottom'] ) && $attributes['marginBottom'] ) {
136 $classes .= ' ' . $attributes['marginBottom'];
137 }
138
139 $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) );
140
141 $page_html .= '<div ' . $wrapper_attributes . '>';
142 // Warning : 'vk_page_content' is old hook name that this line is old filter name fall back.
143 $page_content = apply_filters( 'vk_page_content', $page_content ); //phpcs:ignore
144 $page_html .= apply_filters( 'vk_blocks_page_content', $page_content );
145 $page_html .= '</div>';
146
147 $url = get_edit_post_link( $page_content_id );
148 if ( $url ) {
149 $page_html .= '<a href="' . esc_url( $url ) . '" class="vk_pageContent_editBtn btn btn-outline-primary btn-sm veu_adminEdit" target="_blank">' . __( 'Edit this area', 'vk-blocks' ) . '</a>';
150 }
151 }
152
153 return $page_html;
154 }
155
156
157 /**
158 * Load Scripts
159 *
160 * @param string $page_content Contents.
161 */
162 function vk_blocks_content_enqueue_scripts( $page_content ) {
163 if ( has_block( 'vk-blocks/faq2', $page_content ) || has_block( 'vk-blocks/faq', $page_content ) ) {
164 wp_enqueue_script( 'vk-blocks-faq2', VK_BLOCKS_DIR_URL . 'build/faq2.min.js', array(), VK_BLOCKS_VERSION, true );
165 }
166 if ( has_block( 'vk-blocks/animation', $page_content ) ) {
167 wp_enqueue_script( 'vk-blocks-animation', VK_BLOCKS_DIR_URL . 'build/vk-animation.min.js', array(), VK_BLOCKS_VERSION, true );
168 }
169 if ( has_block( 'vk-blocks/slider', $page_content ) ) {
170 wp_enqueue_style( 'vk-blocks-swiper', VK_BLOCKS_DIR_URL . 'build/swiper.min.css', array(), VK_BLOCKS_VERSION );
171 wp_enqueue_script( 'vk-blocks-swiper', VK_BLOCKS_DIR_URL . 'build/swiper.min.js', array(), VK_BLOCKS_VERSION, true );
172 wp_enqueue_script( 'vk-blocks-slider', VK_BLOCKS_DIR_URL . 'build/vk-slider.min.js', array( 'vk-blocks-swiper' ), VK_BLOCKS_VERSION, true );
173 }
174 }
175 add_action( 'wp_enqueue_scripts', 'vk_blocks_content_enqueue_scripts' );
176
177 // 非�
178 �開の投稿を参�
179 �して表示していないかのチェック
180 // Check if it is displaying content from non-public pages.
181 require_once plugin_dir_path( __FILE__ ) . 'class-vk-blocks-check-using-vk-page-content-block.php';
182 VK_Blocks_Check_Using_VK_Page_Content_Block::activate();
183