워드프레스 사용을 해야하는 일이 생겨서 정리를 하며 공부하게 됐다.
원격으로 wordpress 내부를 살펴볼 예정이다. MAC 환경에서 CODA2 를 사용하여 진행하겠다.
먼저 워드프레스의 기본 디렉터리 중 wp-admin 과 wp-includes 에는 워드프레스의 코어 파일이 존재하므로 수정하는데 조심해야하며, 되도록 코어 해킹은 지양하자.
<?php
/**
* The base configurations of the WordPress.
*
* This file has the following configurations: MySQL settings, Table Prefix,
* Secret Keys, and ABSPATH. You can find more information by visiting
* {@link http://codex.wordpress.org/Editing_wp-config.php Editing wp-config.php}
* Codex page. You can get the MySQL settings from your web host.
*
* This file is used by the wp-config.php creation script during the
* installation. You don't have to use the web site, you can just copy this file
* to "wp-config.php" and fill in the values.
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'dozboon');
/** MySQL database password */
define('DB_PASSWORD', '5zP84WmGuU4y7z3');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'Ae*#uCkG;ekO-8+}K$JK_ruP#y.$I]Zm(bo{2ab~p(u32l4YCo@s^uD[J4y85qov');
define('SECURE_AUTH_KEY', 'n 5cod_a@ZS[+gR;j)>%~z1V[H!Jgf-6R|bdp[G`Kj:boNm`;-&KbXY|;I,;cKWP');
define('LOGGED_IN_KEY', ';>BE+X#eMz^gH?S2:tOp!)$~_^v#nA-Kc^07ZFu!f,AjYJ-!#Zo_C{HBJ>Z%;!05');
define('NONCE_KEY', '~I}g?A:<`aMfBH9$G+;N@[0o$OK}Jf=-oyd. q@Xt.&O{J2)6;G~[l</3wR@>K7;');
define('AUTH_SALT', 'l`ja-EJUh6JBkr[]LKVt*+v+eO.O u,EZ+Us66|q}O,y|7jyi+ -W4A[}P#+/^)b');
define('SECURE_AUTH_SALT', 'zfm s2)4UEAX|4EtH[UmWZ~$Y0a5hCmAL+J1H;|L|9%RK.fsPwX3|3#g`fsa=g;x');
define('LOGGED_IN_SALT', 'cc|m9BHydpk$s7PqQ%=,*ln #yUfblZYLborP|mjuEgp)43[/d|%x)!4Q<-70Xyf');
define('NONCE_SALT', 'i%{&B|l*9f;Q;gO;eY-NaT($?B2N][xQB/`k9.+PG1Wf*Gos5&]|Efv:L9Uqo.h)');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'cic_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
define('WP_DEBUG', false);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
define('WP_POST_REVISIONS',false ); // 수정본 없음
define('WP_POST_REVISIONS',5); // 수정본 5개
define ('AUTOSAVE_INTERVAL',300); // 5분
더 나아가 테마 개발 및 플러그인 개발시 소스상의 오류를 화면에 출력하기 위해서 다음과 같은 코드를 추가해준다.
이를 통해 사용자는 소스상의 오류를 화면에 볼 수 있게 된다. 항상 개발이 끝난 후에는 false 로 바꾸어준다. 그렇지 않을 경우 보안상 위험하다.
추가로 데이터에 관한 디버깅을 할경우 DB QUERY 를 보고 싶다면, 다음과 같은 코드를 추가한다.
define('SAVEQUERIES',true);
위의 코드를 통해 쿼리문이 저장된다. 이후 테마 템플릿 파일에 다음과 같은 코드를 추가하여 확인한다.
if(current_user_can('install_plugins')){
global $wpdb;
print_r($wpdb->queries);
}
해당 코드는 저장된 쿼리 배열을 아무에게나 보여주지 않고 사용자 중에 사이트 관리자에게 이를 보여준다.
또한 일반적인 php logging 기능을 활성화 시켜서 테스트 가능하다.
@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/public_html/wordpress/php_error.log'); // 파일 경로
이후 php_error.log 파일의 경로를 error_log 에 set 해준다.
워드프레스가 제공하는 기능 중 매우 편리한 것이 바로 지역화 기능이다. wp-config 파일에 WPLANG 옵션을 변경하면 즉시 변경한 언어에 해당한는 파일을 불러들인다.
define ('WPLANG', 'en-GB')
한글의 경우 현재 워드프레스 svn 서버에 mo 파일이 존재 하지 않아. 한글용 wordpress 를 다운받아 해당 language 폴더를 복사해서 적용하면 된다. (만일, 한글 워드프레스로 설치가 안되어 있을경우 )
이번시간에는 실제 단순 설치사용자들이 빈번히 접근하는 wp-config 파일에 대해서 알아보았다.
다음시간에는 워드프레스의 코어에 대해서 공부하고 '루프'에 대해 살펴보도록 하겠다.