PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.124.0
VK Blocks v1.124.0
1.124.0 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 2 months ago class-vk-blocks-check-using-vk-page-content-block.php 2 months ago edit.js 2 days ago icon.svg 2 months ago index.js 2 months ago index.php 2 days ago
index.php
185 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 if ( ! $is_rest_request ) {
148 $url = get_edit_post_link( $page_content_id );
149 if ( $url ) {
150 $page_html .= '<a href="' . esc_url( $url ) . '" class="vk_pageContent_editBtn btn btn-outline-primary btn-sm veu_adminEdit" target="_blank" rel="noopener noreferrer">' . esc_html__( 'Edit this area', 'vk-blocks' ) . '</a>';
151 }
152 }
153 }
154
155 return $page_html;
156 }
157
158
159 /**
160 * Load Scripts
161 *
162 * @param string $page_content Contents.
163 */
164 function vk_blocks_content_enqueue_scripts( $page_content ) {
165 if ( has_block( 'vk-blocks/faq2', $page_content ) || has_block( 'vk-blocks/faq', $page_content ) ) {
166 wp_enqueue_script( 'vk-blocks-faq2', VK_BLOCKS_DIR_URL . 'build/faq2.min.js', array(), VK_BLOCKS_VERSION, true );
167 }
168 if ( has_block( 'vk-blocks/animation', $page_content ) ) {
169 wp_enqueue_script( 'vk-blocks-animation', VK_BLOCKS_DIR_URL . 'build/vk-animation.min.js', array(), VK_BLOCKS_VERSION, true );
170 }
171 if ( has_block( 'vk-blocks/slider', $page_content ) ) {
172 wp_enqueue_style( 'vk-blocks-swiper', VK_BLOCKS_DIR_URL . 'build/swiper.min.css', array(), VK_BLOCKS_VERSION );
173 wp_enqueue_script( 'vk-blocks-swiper', VK_BLOCKS_DIR_URL . 'build/swiper.min.js', array(), VK_BLOCKS_VERSION, true );
174 wp_enqueue_script( 'vk-blocks-slider', VK_BLOCKS_DIR_URL . 'build/vk-slider.min.js', array( 'vk-blocks-swiper' ), VK_BLOCKS_VERSION, true );
175 }
176 }
177 add_action( 'wp_enqueue_scripts', 'vk_blocks_content_enqueue_scripts' );
178
179 // 非�
180 �開の投稿を参�
181 �して表示していないかのチェック
182 // Check if it is displaying content from non-public pages.
183 require_once plugin_dir_path( __FILE__ ) . 'class-vk-blocks-check-using-vk-page-content-block.php';
184 VK_Blocks_Check_Using_VK_Page_Content_Block::activate();
185