Что добавить в шпаргалку?
Добавил:
- Переводы (8 голосов)
style.css
/** * Theme Name: Название темы (обязательно) * Template: Название родительской темы. Пр: Twenty Seventeen * Description: Короткое описание темы * * Theme URI: URL темы. Пр: http://wordpress.org/themes/twenty * Author: Kama * Author URI: https://wp-kama.ru * * Tags: black, brown, orange * Text Domain: Домен перевода темы. Пр: twentythirteen * * License: Лицензия. Пр: GNU General Public License v2 or later * License URI: http://www.gnu.org/licenses/gpl-2.0.html * * Version: 1.0 */
(подключение)
(иерархия)
/themes/ТЕМА/
Шаблон записи из любого файла:
<?php /* Template Name: Мой шаблон страницы Template Post Type: post, page, product */ // … остальной код шаблонаПодробнее про шаблоны записей
bloginfo
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <!-- Вывод постов, функции цикла: the_title() и т.д. --> <?php endwhile; else: ?> Записей нет. <?php endif; ?>
<?php if ( have_posts() ){ while ( have_posts() ){ the_post(); ?> <!-- Вывод постов, функции цикла: the_title() и т.д. --> <?php } } else { ?> Записей нет. <?php } ?>
<?php while ( have_posts() ){ the_post(); ?> <!-- Вывод постов, функции цикла: the_title() и т.д. --> <?php } ?> <?php if ( ! have_posts() ){ ?> Записей нет. <?php } ?>
<?php global $post; $myposts = get_posts([ 'numberposts' => 5, 'offset' => 1, 'category' => 1 ]); if( $myposts ){ foreach( $myposts as $post ){ setup_postdata( $post ); ?> <!-- Вывод постов, функции цикла: the_title() и т.д. --> <?php } } else { // Постов не найдено } wp_reset_postdata(); // Сбрасываем $post ?>
<?php global $post; $query = new WP_Query( [ 'posts_per_page' => 5, 'orderby' => 'comment_count', ] ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?> <!-- Вывод постов, функции цикла: the_title() и т.д. --> <?php } } else { // Постов не найдено } wp_reset_postdata(); // Сбрасываем $post ?>
<?php /** * Plugin Name: Название плагина * Description: Описание плагина (140 символов) * Plugin URI: Ссылка на инфо о плагине * Author URI: Ссылка на автора * Author: Имя автора * * Text Domain: ID перевода. Пр: my-plugin * Domain Path: Путь до MO файла (относительно папки плагина) * * Requires PHP: 5.4 * Requires at least: 2.5 * * License: GPL2 * License URI: https://www.gnu.org/licenses/gpl-2.0.html * * Network: true - активирует плагин для всей сети * Version: 1.0 */ // код плагина
<?php if( ! defined('WP_UNINSTALL_PLUGIN') ) exit; // проверка пройдена успешно. Начиная от сюда удаляем опции и все остальное. delete_option( 'plug_option' );
add_action( 'wp_enqueue_scripts', 'add_my_scripts' ); // Фронт add_action( 'admin_enqueue_scripts', 'add_my_scripts' ); // Админка add_action( 'login_enqueue_scripts', 'add_my_scripts' ); // wp-login.php function add_my_scripts(){ if ( ! wp_script_is( 'my-script', 'enqueued' ) ) { // Cкрипт my-script не добавлен в очередь } if ( ! wp_style_is( 'my-style', 'registered' ) ) { // Стили my-style не зарегистрированы } wp_enqueue_script( 'my-script', 'src', ['deps'], '1.0', 'in_footer' ); wp_enqueue_style( 'my-style', 'src', ['deps'], '1.0', 'all' ); wp_enqueue_style( 'theme-style', get_stylesheet_uri() ); // theme style.css wp_localize_script( 'my-script', 'myajax', [ 'ajaxurl' => admin_url( 'admin-ajax.php' ) ] ); wp_script_add_data( 'my-script', 'conditional', 'lt IE 9' ); wp_style_add_data( 'my-style', 'conditional', 'lt IE 9' ) wp_add_inline_script( 'my-scripts', 'alert("Hello!");' ); wp_add_inline_style( 'my-style', ' .mycolor{ background: #fff; } '); wp_deregister_script( 'my-script' ); wp_deregister_style( 'my-style' ); }
function my_filter_function( $str ){ return 'Hello '. $str; } // Прикрепим функцию к фильтру add_filter( 'my_filter', 'my_filter_function' ); // Вызов фильтра echo apply_filters( 'my_filter', 'John' ); //> Hello John
// Cоздадим функцию для события function my_action_function( $text ){ echo 'Событие my_action сработало сейчас.'; } // Прикрепим функцию к событию my_action add_action( 'my_action', 'my_action_function' ); // Вызов события do_action( 'my_action' ); //> Событие my_action сработало сейчас.
(типов страниц и запросов)
if( is_single() ){ // страница записи }
(остальные)
if( is_user_logged_in() ){ // юзер авторизован }
# Download WordPress wp core download --locale=ru_RU # Generate wp-config.php: wp core config --dbname=NAME --dbuser=USER --dbpass=PASS --dbprefix=wp_ # Create DB (based on wp-config.php) wp db create # Install WP to created DB wp core install --url=example.com --title=Example --admin_user=supervisor \ --admin_email=info@example.com --admin_password=strongpassword
# List posts: wp post list # Edit post: wp post edit 1 # Post update: wp post update 1 --post_title="Your New title..." # Create posts: wp post create --post_status=publish --post_title="Second Post" --edit
# See all metas of post 18: wp post meta list 18 # Get post meta value: wp post meta get 18 meta_name # Delete post meta by key: wp post meta delete 18 meta_name
# Create DB dump wp db export - --add-drop-table --default-character-set=utf8mb4 | gzip > ./db_backup-$(date +%Y-%m-%d-%H%M%S).sql.gz # Insert data from DB dump to DB wp db import db_backup-2022-01-20.sql # Login WordPress db: wp db cli # Run SQL Query: wp db query "SELECT user_login, ID FROM wp_users;" # Optimize db: wp db optimize
# Update WordPress wp core update # Update all plugins: wp plugin update --all
# List plugins: wp plugin list # Search plugin: wp plugin search yoast # Install plugin: wp plugin install yoast # List installed themes: wp theme list # Install theme: wp theme install twentyone # Activate theme: wp theme activate twentyone
Добавил:
- Переводы (8 голосов)