->plaintext
, чтобы получить только текст внутри тега. Если вам нужны изображения, то текста внутри тега img нет и чтобы получить ссылку на него используйте ->src
. После обработки желательно сбрасывать переменные$html = file_get_html($file_path);
// Find all paragraphs
$paragraphs = $html->find( 'p' );
foreach ( $paragraphs as $key => $paragraph ) {
var_dump($paragraph->plaintext);
}
// Find all images
$images = $html->find( 'img' );
foreach ( $images as $key => $image ) {
var_dump($image->src);
}
$html->clear();
unset($html);
$reserve = get_post_meta($post->ID, 'reserve', true);
$sold_out = get_post_meta($post->ID, 'sold_out', true);
if ( ($reserve != 'off') && ($sold_out != 'off') ) {
echo '<div class="prop-item-top-badge">';
if( $reserve == 'on' ) {
echo '<div class="badge badge-reserve">' . __( "Reserve", "restate" ) . '</div>';
}
if( $sold_out == 'on' ) {
echo '<div class="badge badge-sold_out">' . __( "Sold out", "restate" ) . '</div>';
}
echo '</div>';
}
wp_update_post()
, чтобы обновить нужные вам данные:// получаем все посты
$my_posts = get_posts( array(
'numberposts' => -1,
'post_type' => 'post',
) );
foreach ( $my_posts as $key => $my_post ) {
// как-то обрабатываем контент, например, убираем регуляркой перечисленные символы
$content = preg_replace('/([\^\%]+)/', '', $my_post->post_content);
$post_data = array(
'ID' => $my_post->ID,
'post_content' => $content,
);
// пушим контент обратно
$post_id = wp_update_post( wp_slash( $post_data ) );
// пишем ошибку/ успех
if( is_wp_error($post_id) ) {
var_dump( 'Ошибка обновления поста ' . $my_post->post_title . ': ' . $post_id->get_error_message() );
} else {
var_dump( 'Пост ' . $my_post->post_title . ' обновлен удачно!' );
}
}
save_post
создается бесконечный цикл, т.к. wp_update_post()
сам по себе вызывает save_post
и его нужно отключать wp_head
add_action( 'wp_head', 'skill_noindex', 1 );
if ( !function_exists( 'skill_noindex' ) ) {
function skill_noindex() {
// закрываем от индексации пустые архивные страницы (таксономии, категории, теги)
if( is_archive() && !have_posts() ) {
echo '<meta name="robots" content="noindex, nofollow, noarchive"/>';
}
// закрываем от индексации категорию "отзывы"
if ( is_category( 'testimonials' ) ) {
echo '<meta name="robots" content="noindex, nofollow, noarchive"/>';
}
// проверяем, что тип записи - post, но достаточно проверять is_single()
if ( get_post_type() === 'post' ) {
// получаем категории поста
if ( $categories = get_the_category( get_queried_object_id() ) ) {
foreach ( $categories as $key => $category ) {
// проверяем, что в массиве есть категория Новости
if ( $category->slug == 'news' ) {
echo '<meta name="robots" content="noindex, nofollow, noarchive"/>';
}
}
}
}
}
}
add_filter( 'wp_robots', 'skill_robots' );
if ( !function_exists( 'skill_robots' ) ) {
function skill_robots( $robots ) {
if ( is_archive() && !have_posts() ) {
$robots['noindex'] = true;
$robots['nofollow'] = true;
}
$robots['max-snippet'] = '-1';
$robots['max-image-preview'] = 'large';
$robots['max-video-preview'] = '-1';
return $robots;
}
}
json_decode()
, чтобы конвертировать в массив, пересобрать и вернуть в json обратно с помощью json_encode()
$json = '{"param1": "value1","param1": "value1","param1": "value1","param1": {},"param1": "value1"}';
$json = json_decode( $json, true );
var_dump($json); // печатает array(1) { ["param1"]=> string(6) "value1" }
wp_head()
в теме вообще есть?init
, after_setup_theme
и сравнивайте с дефолтной темой if ( is_front_page() && is_home() ) {
$html = '<div class="site-branding">';
$html .= '<h1 class="site-branding__title">' . get_bloginfo( 'name' ) . '</h1>';
$html .= '<p class="site-branding__description">' . get_bloginfo( 'description') . '</p>';
$html .= '</div>';
} else {
$html = '<a class="site-branding" href="' . esc_url( home_url( '/' ) ) . '" rel="home">';
$html .= '<h1 class="site-branding__title">' . get_bloginfo( 'name' ) . '</h1>';
$html .= '<p class="site-branding__description">' . get_bloginfo( 'description') . '</p>';
$html .= '</a>';
}
echo apply_filters( 'get_site_branding', $html );
GLOB_ONLYDIR
, чтобы просто узнать количество папок:$countDir = count( glob( 'includes/*', GLOB_ONLYDIR ) );
$date = date("d-m-Y");
$countDir = countDir($fileDir, $date);
var_dump($countDir);
function countDir( $path, $date, $count = 0 ) {
if( file_exists($path) && is_dir($path) ) {
$dirHandle = opendir($path);
while ( false !== ($file = readdir($dirHandle)) ) {
// исключаем папки с названием '.' и '..'
if ( $file != '.' && $file != '..' ) {
$filePath = $path . '/' . $file;
// если папка
if ( is_dir( $filePath ) ) {
// сраниваем $date с датой создания
if ( $date == date("d-m-Y", filectime($filePath)) ) {
$count++;
}
} // end if is_dir( $filePath )
}
} // end while
closedir($dirHandle);
}
return $count;
}
apply_filters()
, вы можете изменить вывод контента через дочернюю тему, написав соответствующий фильтр