$body = @file_get_contents( 'php://input' );
$log = __DIR__ . '/data.log';
try {
$body = json_decode( $body, true, 512, JSON_THROW_ON_ERROR );
file_put_contents( $log, print_r( $body, true ), FILE_APPEND );
} catch ( JsonException $e ) {
file_put_contents( $log, $e->getMessage(), FILE_APPEND );
}
tail -f data.log
wc_product_class()
, чтобы туда добавить свои классы, достаточно использовать хук wc_product_post_class
:/**
* Добавить свои классы к товару.
*
* @param array $classes Классы по умолчанию.
*/
function mihdan_add_product_class($classes) {
$classes[] = 'row';
return $classes;
}
add_filter( 'wc_product_post_class', 'mihdan_add_product_class' );
the_content
:add_action( 'the_content', 'themeprefix_add_marker' ); // Hook in the field
// ACF Google Map Single Map Output
function themeprefix_add_marker() {
$location = get_field('location'); // Set the ACF location field to a variable
if( !empty($location) ) {
?>
<div class="acf-map">
<div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>">
<h4><a href="<?php the_permalink(); ?>" rel="bookmark"> <?php the_title(); ?></a></h4> <!-- Output the title -->
<p class="address"><?php echo $location['address']; ?></p> <!-- Output the address -->
</div>
</div>
<?php
}
}
/**
* После добавления товара в корзину - показать модальное окно
*
* @author mikhail@kobzarev.com
*/
add_action(
'wp_footer',
function() {
?>
<script>
jQuery( function( $ ) {
$( document.body ).on( 'adding_to_cart', function( a, b ) {
var tpl = '';
tpl += '<h1>Товар добавлен в корзину</h1>';
tpl += '<p>' + product_title + '</p>';
tpl += '<div>';
tpl += '<a class="btn btn-default" onclick="jQuery.unblockUI();">Продолжить покупки</a>';
tpl += '<a href="/shop/cart/" class="btn btn-primary">Оформить заказ</a>';
tpl += '</div>';
tpl += '<span class="close" onclick="jQuery.unblockUI();">×</span>';
$.blockUI({
message: tpl
});
});
} );
</script>
<?php
}
);
# BEGIN WordPress
и # END WordPress
.# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
global $post, $wp_query;
$query_args = array(
'post_status' => 'publish',
// и прочее...
);
$query = new WP_Query( $query_args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// вывод поста
}
wp_reset_postdata();
$temp_query = $wp_query;
$wp_query = null;
$wp_query = $query;
the_posts_pagination();
// Reset main query object.
$wp_query = null;
$wp_query = $temp_query;
}
// указываем, что нам нужен минимум от WP
define('SHORTINIT', true);
// подгружаем среду WordPress
// WP делает некоторые проверки и подгружает только самое необходимое для подключения к БД
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
// тут мы можем общаться с БД. Но практически никакие функции WP работать не будут.
// Глобальные переменные $wp, $wp_query, $wp_the_query не установлены...
global $wpdb;
$result = $wpdb->get_results("SELECT post_title FROM $wpdb->posts WHERE post_type='post'");
if( $result )
foreach( $result as $post ){
echo "$post->post_title <br>";
}